]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Imported Translations from Transifex
authorOpenStack Jenkins <jenkins@openstack.org>
Thu, 6 Mar 2014 06:29:14 +0000 (06:29 +0000)
committerOpenStack Jenkins <jenkins@openstack.org>
Thu, 6 Mar 2014 06:29:14 +0000 (06:29 +0000)
Change-Id: Ia38baf018f201f8c1bfac3363e93587d491accb4

62 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/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/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 fe1cedea7f7b8d070869c82ae8407a6dc682f603..91abd2330ac335c8a36b103ed3790ce6af8f3d2d 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-09-12 23:31+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Arabic "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15233,33 +15591,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 048af937f2b68b6a9a696e5a5cf05541f4ff565e..373e0332f5e4f713d2c0520ee61eb9e784f00e1d 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bulgarian (Bulgaria) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index aaa7fc68e973b70f574a3b21a6c8dfad6dc7d44c..f485bd687b7f96f972b5ae1c8b57efc34ebc20c6 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-10-20 01:34+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Bengali (India) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15163,33 +15521,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 8d09217f138338a138b5dcd5677b85fcadfd16d2..a88e4714bf0f6e69b751ce450d7fc5e162d9af23 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bosnian "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 07fdcb59e7cbe8ac493c566ce622f39448bb4f64..25dd71157400a35e53dbee2df5bfe829b8da48f1 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Catalan "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index a21249c52debd7ccf5393770bfea4489f6b44516..9c8cff886813c1f021683f8899a9b710af622483 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Czech "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 24107c7f31a8dd6f2979a9eade171375deeecf94..1dc8a3d18c5e86883f13aede0c8f9fced59824dc 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Danish "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 16ba1135cb4b940aeb0e7b008567a59d9e7d69e8..ab4c7cfd3f0689daf576eb126c770907b2276703 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-22 08:17+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: German "
@@ -220,42 +220,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr "%s ist bereits registriert."
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr "Sekunden zwischen Ausführungen regelmäßiger Tasks"
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr "Keine bekannten API-Anwendungen konfiguriert."
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr "Ausnahme tritt auf, wenn Zeitgeber stoppt"
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr "Ausnahme tritt beim Warten auf Zeitgeber auf"
 
@@ -441,7 +454,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr "Position von UNIX-Domänensocket von Metadatenproxy"
@@ -515,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -523,10 +536,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -535,27 +548,27 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr "Erstellung des Statusberichts fehlgeschlagen!"
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr "'agent_updated' (Agent aktualisiert) durch Serverseite %s!"
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr "Name der für externen Netzverkehr verwendeten Brücke."
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 #, fuzzy
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
@@ -564,159 +577,159 @@ msgstr ""
 "Wenn 'namespaces' inaktiviert ist, kann der Agent der Ebene 3 nur einen "
 "Router konfigurieren, der über die entsprechende Router-ID verfügt."
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr "Agent sollte Router ohne Gateway implementieren"
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr "UUID von externem Netz für von den Agenten implementierte Router."
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr "Fehler beim Importieren von Schnittstellentreiber '%s'"
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr "Ein Schnittstellentreiber muss angegeben sein"
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "Gratuitous ARP wurde nicht gesendet: %s"
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, 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:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "Synchronisation von Routern fehlgeschlagen"
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr "Agent der Ebene 3 gestartet"
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "Der hinzugefügte Routeneintrag lautet '%s'"
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "Der entfernte Routeneintrag lautet '%s'"
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -741,7 +754,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -975,17 +988,17 @@ msgstr "DHCP für %(net_id)s-PID %(pid)d ist veraltet. Befehl wird ignoriert"
 msgid "No DHCP started for %s"
 msgstr "Kein DHCP für %s gestartet"
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr "Fehler beim Lesen von %s"
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr "Wert in %s kann nicht konvertiert werden"
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr "Kein Zugriff auf %s möglich"
@@ -1004,44 +1017,44 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 "'dhcpmasq' für Netz wird beendet, da alle Teilnetze DHCP ausgeschaltet "
 "haben: %s"
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr "Neuladen von Zuordnungen für Netz: %s"
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr "Wiederverwendung von vorhandenem Gerät: %s."
@@ -1050,12 +1063,12 @@ msgstr "Wiederverwendung von vorhandenem Gerät: %s."
 msgid "Location to store child pid files"
 msgstr "Position zum Speichern von untergeordneten PID-Dateien"
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr "Prozess für %(uuid)s-PID %(pid)d ist veraltet. Befehl wird ignoriert"
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr "Kein Prozess für %s gestartet"
@@ -1106,24 +1119,24 @@ msgid "Authentication region"
 msgstr "Authentifizierungsregion"
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr "Gerät %s ist bereits vorhanden"
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr "Verbindung zu Schnittstelle '%s' getrennt"
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr "Fehler beim Trennen von Verbindung zu Schnittstelle '%s'"
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr "Treiberposition: %s"
@@ -1132,10 +1145,6 @@ msgstr "Treiberposition: %s"
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr "Kein Namensbereich für übergeordnetes Element definiert"
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1483,114 +1492,114 @@ msgstr "'%s' kann in Anforderungshauptteil nicht gefunden werden"
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr "Anforderung wurde nicht analysiert. Parameter '%s' nicht angegeben"
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr "Erweiterung mit Alias %s ist nicht vorhanden"
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr "Erweiterte Ressource: %s"
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr "Erweiterte Aktion: %s"
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr "Erweiterte Anforderung: %s"
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr "Erweiterungsmanager wird initialisiert."
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr "Fehler beim Abrufen erweiterter Attribute für Erweiterung '%s'"
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr "Erweiterungsname: %s"
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr "Erweiterungsalias: %s"
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr "Erweiterungsbeschreibung: %s"
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr "Erweiterungsnamensbereich: %s"
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr "Erweiterung aktualisiert: %s"
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr "Ausnahme beim Laden von Erweiterung: %s"
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr "Erweiterungspfad '%s' ist nicht vorhanden!"
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr "Laden von Erweiterungsdatei: %s"
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr "Erwarteter Name \"%(ext_name)s\" konnte in %(file)s nicht gefunden werden"
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr "Erweiterungsdatei %(f)s wurde aufgrund von %(exception)s nicht geladen"
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr "Geladene Erweiterung: %s"
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr "Erweiterung %s von keinem der geladenen Plug-ins unterstützt"
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr "Geladene Plug-ins implementieren Schnittstelle für Erweiterung %s nicht"
@@ -1620,7 +1629,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1699,7 +1708,7 @@ msgstr "'%(data)s' überschreitet die Höchstlänge von %(max_len)s"
 msgid "'%s' is not a valid boolean value"
 msgstr "'%s' ist keine gültige Eingabe"
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr "'%s' ist keine Ganzzahl"
@@ -1724,112 +1733,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr "'%s' ist keine gültige MAC-Adresse"
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr "'%s' ist keine gültige IP-Adresse"
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr "Ungültiges Datenformat für IP-Pool: '%s'"
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr "Ungültiges Datenformat für statische IP: '%s'"
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr "Doppelte IP-Adresse '%s'"
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr "Ungültiges Datenformat für Namensserver: '%s'"
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr "'%s' ist kein gültiger Namensserver"
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr "Doppelter Namensserver '%s'"
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr "Ungültiges Datenformat für Hostroute: '%s'"
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr "Doppelte Hostroute '%s'"
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr "'%s' ist kein gültiges IP-Teilnetz"
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr "'%s' ist keine Liste"
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr "Doppelte Elemente in der Liste: '%s'"
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr "'%s' ist keine gültige Eingabe"
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr "'%s' ist keine gültige UUID"
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr "Der Validator '%s' ist nicht vorhanden."
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr "%s ist kein Verzeichnis"
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr "'%s' sollte nicht negativ sein"
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr "'%s' kann nicht in boolesche Zahl umgewandelt werden"
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr "'%s' ist keine Ganzzahl"
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr "'%s' ist nicht in der Form <key>=[value]"
@@ -2482,76 +2491,67 @@ msgstr "Datenbankregistrierungsausnahme: %s"
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr "Erstellen von Ressource für einen weiteren Nutzer nicht möglich"
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr "Erstellte MAC-Adresse für Netz %(network_id)s ist %(mac_address)s"
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 "Erstellte MAC-Adresse %(mac_address)s ist bereits vorhanden. "
 "%(max_retries)s verbleibende Versuche."
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr "Erstellen von MAC-Adresse nach %s Versuchen nicht möglich"
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-"Keine statische IP-Adresse gefunden, die mit Netz %(network_id)s und IP-"
-"Adresse %(ip_address)s übereinstimmt."
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 "Löschen von zugeordneter IP-Adresse %(ip_address)s "
 "(%(network_id)s/%(subnet_id)s)"
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr "Zugeordnete IP-Adresse - %(ip_address)s von %(first_ip)s bis %(last_ip)s"
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 "Keine weiteren freien IP-Adressen in Ausschnitt. Löschen von "
 "Zuordnungspool."
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr "'subnet_id' oder 'ip_address' für IP-Zuordnung erforderlich"
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 "IP-Adresse %s ist keine gültige IP-Adresse für die definierten Teilnetze "
 "des Netzes"
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
@@ -2560,26 +2560,26 @@ msgstr ""
 "Port auf Netz %(network_id)s wurde nicht erstellt, da 'fixed_ips' "
 "ungültiges Teilnetz %(subnet_id)s enthielt"
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr "IP-Adresse %s ist keine gültige IP-Adresse für das definierte Teilnetz"
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr "Maximale Anzahl an statischen IP-Adressen per Port überschritten"
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr "Portaktualisierung. Rückstellung von %s"
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr "Portaktualisierung. Hinzufügen von %s"
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
@@ -2588,7 +2588,7 @@ msgstr ""
 "Angefordertes Teilnetz mit CIDR: %(cidr)s für Netz: %(network_id)s "
 "enthält Überschneidungen mit einem anderen Teilnetz"
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
@@ -2597,74 +2597,74 @@ msgstr ""
 "Überprüfung für CIDR: %(new_cidr)s fehlgeschlagen - Überschneidung mit "
 "Teilnetz %(subnet_id)s (CIDR: %(cidr)s)"
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr "Durchführen von IP-Gültigkeitsprüfungen für Zuordnungspools"
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr "Ungültige IP-Adresse in Pool gefunden: %(start)s - %(end)s:"
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr "Angegebene IP-Adressen stimmen nicht mit der Teilnetz-IP-Version überein"
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr "Anfangs-IP-Adresse (%(start)s) ist größer als Ende-IP-Adresse (%(end)s)"
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr "Pool gefunden, der größer ist als Teilnetz-CIDR:%(start)s - %(end)s"
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr "Überprüfung auf Überschneidungen bei Zuordnungspools und Gateway-IP"
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr "Überschneidungen bei Bereichen gefunden: %(l_range)s und %(r_range)s"
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr "Ungültige Route: %s"
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr "%(name)s '%(addr)s' stimmt nicht mit 'ip_version' '%(ip_version)s' überein"
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr "Gateway ist auf Teilnetz nicht gültig"
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr "Fehler bei Auswertung der DNS-Adresse %s"
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 "Zugeordnete IP-Adresse %(ip_address)s "
 "(%(network_id)s/%(subnet_id)s/%(port_id)s)"
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr "%(address)s (%(subnet_id)s) wurde nicht erneut gestartet"
@@ -2881,13 +2881,13 @@ msgstr "Mehrere dynamische IP-Adressen für Port %s gefunden"
 msgid "Skipping port %s as no IP is configure on it"
 msgstr "Port %s wird übersprungen, da keine IP-Adresse auf ihm konfiguriert ist"
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
@@ -2896,21 +2896,26 @@ msgstr ""
 "Router an Agent der Ebene 3 zurückgegeben:\n"
 " %s"
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr "Externe Netz-ID an Agent der Ebene 3 zurückgegeben:%s"
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -3058,7 +3063,7 @@ msgstr "Sie müssen eine Überarbeitung oder ein relatives Delta bereitstellen"
 msgid "Available commands"
 msgstr "Verfügbare Befehle"
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4754,7 +4759,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, fuzzy, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr "Aufruf von 'get_port_with_securitygroups()': port_id=%s"
@@ -5082,7 +5087,7 @@ msgid "Agent loop has new device"
 msgstr "Agentenschleife umfasst ein neues Gerät"
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -5091,7 +5096,7 @@ msgstr "Fehler in Agentenereignisschleife"
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -5153,14 +5158,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -5228,6 +5236,7 @@ msgid "Connect failed to switch: %s"
 msgstr "Verbindung mit Switch fehlgeschlagen: %s"
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5715,67 +5724,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6629,7 +6634,7 @@ msgstr "Netztyp %s nicht unterstützt"
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr "Gerät %(device)s ist nicht mehr auf %(agent_id)s vorhanden"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
@@ -6637,11 +6642,11 @@ msgstr ""
 "Liste mit <physical_network>:<vswitch>, wobei die physischen Netze durch "
 "Wildcards repräsentiert werden können. Beispiel: .\"*:external\""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr "Für lokale Netze verwendeter privater virtueller Switchname"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6654,154 +6659,164 @@ msgstr ""
 "Die Anzahl an Sekunden, die der Agent zwischen Abfragen lokaler "
 "Geräteänderungen wartet."
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "Ungültige Zuordnung von physischem Netz: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, 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:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, 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:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr "'port_delete' erhalten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: 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:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: 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:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "Zurückfordern von lokalem Netz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr "Binden von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, 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:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr "Lösen von Bindung von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr "Hinzufügen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, 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:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr "Entfernen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr "Agent nicht synchron mit Plug-in!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: 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:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "Fehler bei Agentenereignisschleife: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 "Schleifeniteration hat Intervall (%(polling_interval)s contra "
 "%(elapsed)s) überschritten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr "Agent erfolgreich initialisiert, läuft jetzt... "
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6865,7 +6880,7 @@ msgstr ""
 "fehlgeschlagen, Fehler: %(ret_val)s "
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "vSwitch nicht gefunden: %s"
@@ -6878,14 +6893,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7410,7 +7426,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7463,33 +7479,33 @@ msgstr "'provider:physical_network' für lokales Netz angegeben"
 msgid "provider:segmentation_id specified for local network"
 msgstr "'provider:segmentation_id' für lokales Netz angegeben"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr "Ungültige Netz-ID, wird zu falschem Brückennamen führen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr "Ungültige VLAN-ID, wird zu falschem Namen bei Teilschnittstelle führen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr "Ungültige Schnittstellen-ID, wird zu falschem Namen bei TAP-Gerät führen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
@@ -7498,98 +7514,98 @@ msgstr ""
 "Erstellung von Teilschnittstelle %(interface)s für VLAN %(vlan_id)s auf "
 "Schnittstelle %(physical_interface)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr "Erstellung von Teilschnittstelle %s abgeschlossen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr "Starten von Brücke %(bridge_name)s für Teilschnittstelle %(interface)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 "Starten von Brücke %(bridge_name)s für Teilschnittstelle %(interface)s "
 "abgeschlossen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 "Hinzufügen von %(interface)s zu %(bridge_name)s nicht möglich! Ausnahme: "
 "%(e)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr "Keine Zuordnung für physisches Netz %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr "TAP-Gerät: %s ist auf diesem Host nicht vorhanden, wird übersprungen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr "Hinzufügen von Gerät %(tap_device_name)s zu Brücke %(bridge_name)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr "%(tap_device_name)s ist auf Brücke %(bridge_name)s bereits vorhanden"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr "Löschen von Brücke %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr "Löschen von Brücke %s abgeschlossen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr "Brücke %s kann nicht gelöscht werden, da nicht vorhanden"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr "Entfernen von Einheit %(interface_name)s von Brücke %(bridge_name)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 "Entfernen von Einheit %(interface_name)s von Brücke %(bridge_name)s "
 "abgeschlossen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
@@ -7598,93 +7614,93 @@ msgstr ""
 "Einheit %(interface_name)s kann nicht von Brücke %(bridge_name)s entfernt"
 " werden, da nicht vorhanden"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr "Löschen von Teilschnittstelle %s für VLAN"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr "Löschen von Teilschnittstelle %s abgeschlossen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr "'network_delete' erhalten"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr "Anfordern von MAC-Adresse für eindeutige ID nicht möglich. Agent beendet!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr "RPC-'agent_id': %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr "Port %s hinzugefügt"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7693,16 +7709,16 @@ msgstr "Port %s hinzugefügt"
 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:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "Port %(device)s aktualisiert. Details: %(details)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7711,7 +7727,7 @@ msgstr "Port %(device)s aktualisiert. Details: %(details)s"
 msgid "Device %s not defined on plugin"
 msgstr "Gerät %s nicht für Plug-in definiert"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7720,7 +7736,7 @@ msgstr "Gerät %s nicht für Plug-in definiert"
 msgid "Attachment %s removed"
 msgstr "Zusatzeinheit %s entfernt"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7729,37 +7745,37 @@ msgstr "Zusatzeinheit %s entfernt"
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr "'port_removed' für %(device)s fehlgeschlagen: %(e)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr "Port %s aktualisiert."
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr "RPC-Dämon für Linux-Brückenagent gestartet!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr "Aktualisierung der Geräte ist fehlgeschlagen"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr "Fehler bei Agentenschleife. Geräteinfo: %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 "Analysieren von 'physical_interface_mappings' fehlgeschlagen: %s. Agent "
 "beendet!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr "Schnittstellenzuordnungen: %s"
@@ -8515,7 +8531,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8628,177 +8649,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr "Plug-in-Initialisierung abgeschlossen"
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, fuzzy, python-format
 msgid "Network %s has no segments"
 msgstr "Netz %s für Agent nicht verwendet."
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, fuzzy, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr "Details für Gerät %(device)s von %(agent_id)s angefordert"
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, fuzzy, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr "Details für Gerät %(device)s von %(agent_id)s angefordert"
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, fuzzy, python-format
 msgid "Returning: %s"
 msgstr "Bereinigung von %s"
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, fuzzy, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr "Gerät %(device)s ist nicht mehr auf %(agent_id)s vorhanden"
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, fuzzy, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr "Update für Gerät %(device)s auf %(agent_id)s"
@@ -9148,6 +9169,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9344,6 +9570,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9463,71 +9699,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9593,10 +9829,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9876,50 +10108,56 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
@@ -9927,32 +10165,27 @@ msgstr ""
 "_activate_packet_filter_if_ready(): überspringen, 'ofc_packet_filter' ist"
 " bereits vorhanden."
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -10134,48 +10367,84 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr "Verbindung zu OFC fehlgeschlagen: %s"
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr "'_del_ofc_item()': NotFound-Element (model=%(model)s, id=%(id)s) "
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr "_del_ofc_item(): NotFound-Element (resource=%(resource)s, id=%(id)s) "
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 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:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr "Aufruf von 'get_port_with_securitygroups()': port_id=%s"
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr "PacketFilter %(id)s konnte nicht gefunden werden"
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr "Laden von OFC-Treiber: %s"
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 "Anzahl an zulässigen Werten für 'packet_filters' pro Nutzer, -1 für "
 "unbegrenzt"
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr "PacketFilter %(id)s konnte nicht gefunden werden"
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11787,12 +12056,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11802,20 +12071,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11838,13 +12107,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -12344,12 +12613,12 @@ msgstr "Port ist 'lqueue' nicht zugeordnet"
 msgid "'%s' must be a non negative integer."
 msgstr "'%s' muss eine nicht negative Ganzzahl sein."
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13751,13 +14020,17 @@ msgstr "Keine L3-Agenten können Router %s hosten"
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr "Router %(router_id)s ist L3-Agent %(agent_id)s zugeordnet"
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr "FEHLER: %s"
@@ -14781,6 +15054,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14807,6 +15085,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14855,7 +15209,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14910,98 +15266,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -16287,33 +16643,57 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr "Kein Namensbereich für übergeordnetes Element definiert"
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+#~ "Keine statische IP-Adresse gefunden, die"
+#~ " mit Netz %(network_id)s und IP-"
+#~ "Adresse %(ip_address)s übereinstimmt."
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 6e336756b85e3586127fc00b0a95d5ed295cf8f2..57f9898c992257bdc5ce53df5bcd1c8d5a4716e2 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (Australia) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 18ab7b9ca94ed2dcfb994453e48666363e8390ca..081ed57c53d434c844b8100b0289afc89ec10d5b 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United Kingdom) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 15696e917b52afe51772d704e4795ef1cdcaefa4..ed89928ba740ab1e534b0017792cb2d898aa967b 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United States) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 74802414f0a8c814993dfc9e8f6287a4f35e2d0a..e44e3b019a78ecd071b3fbd895073b5ea7ec743f 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Spanish "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index a6288971e201b2bf1e66c0ce418802ba21b14d0f..bba8600c0adbc07e8fc0e107ac231c8352f2fb3a 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-08-29 05:16+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Spanish (Mexico) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15577,33 +15935,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 40c321d9d0d44ac1a6a6e208235e217e3ce67fe8..ae7cbcaab6ec085a9433cb20c89b0f4ea2ac061b 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-11-15 00:14+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Basque "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 60920dc3d269b23c568b1326614d0d0e9c1ab2ff..a6200c2c9dfb04ea42f71f96fc92ce72ce35b7c0 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 36355e9672ea88a98d0ead9407da06e75c2a1f08..8ae98862d0de67dbe55d090c5f3539c765ea6ae4 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-11-15 02:28+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Persian "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 8f214115ebb7da56c2113957d56db4c46aff17df..e7d7c656de862bb54ed05b19205bf29421af9c30 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Finnish (Finland) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 8ddda24b7e28722c85f6e774fc663ebdffbf0809..4ab71b848478253f05754e3e607be8944e6e0f1f 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-09-28 05:40+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Filipino "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15220,33 +15578,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index a3c0e03498a67e9b56fbd94310088351319c33fb..4ba7acc22aa3081c64dd661731cc0ecb1fc54a8a 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: French "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 234438d902e9cff0cbcc3ce0c113ed21eeb29d09..dc74ba6831cd36f0d5d8bde92bddb4d77d6ab96f 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-10-28 23:23+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Galician "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15145,33 +15503,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index c450892e89f302b7c95fd29d2ee44479fe691f41..394345048c048bb86a424d9cbbf32d553f20af1d 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2014-01-17 14:28+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Hebrew "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -14920,33 +15278,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index b7e2cde0966a34f9740884739b68cb1a1dab44e6..044a6b17010bf57fc1302e933ba3285366733b08 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -14920,33 +15278,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 8fb4aaf7234afd2a134fa3a9a9507dbf5049b2b7..90ca1e3bb92694d228797f6929dc34eb7315fbbc 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Hindi "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15595,33 +15953,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 37c21cb22b1f199cf567257546b26cf9da3dd9fd..6242eae31aefbfa86b4eccf3fe72462f6da3c496 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Croatian "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 58217934f183cddcbe3ccd0b516d981410bdf122..52701259a8bce920cba4235e77722aa35fdbda61 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Hungarian "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 660b90f8715afb567ae3db979463997a01734c4d..ad9761ee5513a70e49bc23c60f11768e5eeff391 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Indonesian "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index da65d72b89d38e045d25db5fa48fa3e6eaa92ba5..31639f233742912ce9ee3cb913a31ecafd171a20 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -14998,33 +15356,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 585cdd59be7c6195033c3aa8ffe79887c8d5a290..e00c0e996d4d402203fe3cafccc7e1deaf8e0f78 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Italian "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 5a3d56d2f5bd434c4aa044ff4e09e7d5d13cb96d..b53626be3ca99c35f2c79e37f198e74027a67e20 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Italian (Italy) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index fd99662645f00165fc50ead910f3539c31f881fb..528b2d33bca24b523cf308b9c32aab8d90516b98 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-30 10:28+0000\n"
 "Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
 "Language-Team: Japanese "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index b707dcb1714154fb3a2a934c024ef1c53530e229..fa4ef8e3e0ceb5541e43378c81b3e52bd65c4265 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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"
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr "L3 აგენტი ჩაირთულია"
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr "შეცდომა %s წაკითხვისას"
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr "პროცესი არ დაწყებულა %s -თვის"
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr "მოწყობილობა %s უკვე არსებობს"
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr "დრაივერის მდებარეობა: %s"
@@ -1119,10 +1132,6 @@ msgstr "დრაივერის მდებარეობა: %s"
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,72 +9404,72 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 #, fuzzy
 msgid "eSwitch Agent Started!"
 msgstr "L3 აგენტი ჩაირთულია"
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index c9d61f8de71a7df32c68ecff8ec6dac32dc2bf22..2acd5601f098cc555b4887704d7eb8ff9e2c25c0 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-11-15 02:27+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Khmer "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 8d15858e4664c3bc79b00fa820d38c5b4ae98ded..5cf293e4c24106abe1097e67ed1d061902c3c3a9 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-09-18 00:19+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Kannada "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15232,33 +15590,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 05d3a508709645d73787fd27a47e3912a88c8562..db71ad5b5ffccedbfff1d635106b20fcd3655a0e 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Korean "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index ce4a0becf98b6f363cbf077601b5ecfa5f9ef9a7..b65a2a4621adff3bd862240a70d79027a4ed18bc 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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"
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index dbe081a9f67115b2d33d5403f9e614216926c7cf..7fc32ccd981badae1cc262027928725770ff0a68 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-11-17 05:24+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Malayalam (India) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index aff3ba5c733fa01cfb1cd723783cec030f82da90..83b0ce8f68729458cd450d8d19ee59e9979f5ad3 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-10-16 22:17+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Marathi (India) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15166,33 +15524,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 592e15e4806ad5617871dd81a9c9a44ade7b6657..5a8a1011ebb4a454f9efb6b20a65d2c0582372d3 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Malay "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 5a5a711c0a8ba67555091c3724e3073b3e349a37..012c9113c3b62a60600d3335ef7d07e28dce8b0e 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Norwegian Bokmål "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 4bfbc891b015b0903d9ea3ea7c9cef3c94ba3c46..f381ea26dcc2b59aec04a2570b21f800be9fa822 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-09-05 06:03+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Nepali "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15484,33 +15842,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 0a9901fcdecc16431c4717ebd4bab6b185c9e3e0..635eda9f858b9f0ea9fd047d79d6e203c66ab742 100644 (file)
@@ -7,9 +7,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: neutron "
-"jenkins.neutron.propose.translation.update.252\n"
+"jenkins.neutron.propose.translation.update.254\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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"
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
index 09dbe1a9100c2c96f295e856313fcbb9c090a700..1274e1ae30d086f4b7864a29e07c26938bd5fe0e 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Dutch (Netherlands) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 6d024a8b8c5159304beda320c48a621baee94193..367da223633b765f5c2a5477df0e2880df1063c7 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -14998,33 +15356,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 07cb12d7d490c307f0db87158e301fc5c790ca7a..1ff3228b2b2dcfaed4006f86afd796057b78b81b 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index f416b9eefa9a9ceaed7bd03056c89664e1815836..c2c211e58ea080dcb0fb17016f883e9a422ab7fb 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index bd90ba5d721a1afed90ffe752a92eb5a20e68c8b..e25bae9bf843a382ec7e9a73b21e3c38a27c3adc 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese (Brazil) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index bd5563f390b9086e403a3f683a295df531fe8501..cbb4205a655ef5134b056ad71ce2dc6f40bed613 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-06-08 07:51+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Romanian "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 3c22879866f970be6d940330b4ab9bdf2098205f..e76d2bf6f891e78ef916224c795bc5b18e347040 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Russian "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 6b409652e1aa41dd442bc4a94028cc5a6a388122..9d9ab51e442b9c1d6f7a77cf491ccf626c6b2a45 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Russian (Russia) "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 15ee090ca3ca65c16235894c83940852dc335707..7b2a4b48327f895d49d0278e7f1390b41b26487b 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Slovak "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15595,33 +15953,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index fceba625fe6a0a90bad4d2c05f7c1026cd90683f..558726ccc197838a7db49189df4700b3c1a22118 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index d67583a793832a081de09b10595c1ebf4a6f571a..2a4f18339743d4e92df1ff67b6daeb619243e815 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-11-15 02:27+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Swedish "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15121,33 +15479,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 2e7680247c9af300ca9a5bea5ce848f40b583d8c..0775dab73de730b51ab15d895af55b1e2971c494 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Swahili (Kenya) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index d9156315eb496b9bf5d3244b7196d2f3a4296b12..d31768b50346600937a40dfac37971cff84b5685 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Tagalog "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 749e90e770a8f968057d060a2d7f0829f2335fd3..3865b6183be306f45ba6609fcb6482605084f9de 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-09-28 05:40+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Tagalog (Philippines) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15220,33 +15578,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 9ecdcc53213153c638c463d0254a43e4958c5568..18a9977b50936a7e59b0c9f65685628907d9ae75 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Turkish (Turkey) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 55381df664a4f92d30beecde1f55fb4fe5b1295b..a65ee20a484f68caecb82979983ad00b9a8cf987 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Ukrainian "
@@ -219,42 +219,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -438,7 +451,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -508,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -516,10 +529,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -528,185 +541,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1038,12 +1051,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1120,10 +1133,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1453,114 +1462,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1590,7 +1599,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1660,7 +1669,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1685,112 +1694,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2387,171 +2396,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2749,34 +2751,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2922,7 +2929,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4532,7 +4539,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4854,7 +4861,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4863,7 +4870,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4923,14 +4930,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4998,6 +5008,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5485,67 +5496,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6391,17 +6398,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6412,152 +6419,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6615,7 +6632,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6628,14 +6645,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7160,7 +7178,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7213,218 +7231,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7433,16 +7451,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7451,7 +7469,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7460,7 +7478,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7469,35 +7487,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8231,7 +8249,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8343,177 +8366,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8852,6 +8875,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9048,6 +9276,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9167,71 +9405,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9297,10 +9535,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9570,81 +9804,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9826,46 +10061,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11428,12 +11699,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11443,20 +11714,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11479,13 +11750,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11955,12 +12226,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13344,13 +13615,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14372,6 +14647,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14398,6 +14678,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14446,7 +14802,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14501,98 +14859,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15878,33 +16236,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 7bc68b845111e48b1e709f122e440e19c2d1670f..d163022e1b8fe21568dff6193f9f869eaa7d754c 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-10-07 01:13+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Urdu "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15202,33 +15560,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 13f88ca63e7281862f4d20ed1ba1cdfeda6a0d1f..cae44e56c1e4f1805ae0dcaa967d937b155b4b24 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Vietnamese (Viet Nam) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 277a5e3979ad91af5eabba49fa7e22f1f895bfe7..1b99045da3d9256ad1efa75515d024fa38ea6957 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Chinese (China) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index abdd47fe21aaf691e570000570577e8b683511fb..93c93ae9ce7d27a5384dd31aa59f7b3547f75e03 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese (Hong Kong) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr ""
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr ""
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr ""
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr ""
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr ""
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,185 +540,185 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -730,7 +743,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -964,17 +977,17 @@ msgstr ""
 msgid "No DHCP started for %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr ""
@@ -993,42 +1006,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr ""
@@ -1037,12 +1050,12 @@ msgstr ""
 msgid "Location to store child pid files"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr ""
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr ""
@@ -1093,24 +1106,24 @@ msgid "Authentication region"
 msgstr ""
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr ""
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr ""
@@ -1119,10 +1132,6 @@ msgstr ""
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr ""
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1452,114 +1461,114 @@ msgstr ""
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr ""
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr ""
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr ""
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr ""
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr ""
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr ""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr ""
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr ""
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr ""
@@ -1589,7 +1598,7 @@ 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/ipsec.py:85
+#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -1659,7 +1668,7 @@ msgstr ""
 msgid "'%s' is not a valid boolean value"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr ""
@@ -1684,112 +1693,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr ""
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr ""
@@ -2386,171 +2395,164 @@ msgstr ""
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr ""
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr ""
@@ -2748,34 +2750,39 @@ msgstr ""
 msgid "Skipping port %s as no IP is configure on it"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
 " %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2921,7 +2928,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4531,7 +4538,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr ""
@@ -4853,7 +4860,7 @@ msgid "Agent loop has new device"
 msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4862,7 +4869,7 @@ msgstr ""
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4922,14 +4929,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -4997,6 +5007,7 @@ msgid "Connect failed to switch: %s"
 msgstr ""
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5484,67 +5495,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6390,17 +6397,17 @@ msgstr ""
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6411,152 +6418,162 @@ msgid ""
 "device changes."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6614,7 +6631,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
@@ -6627,14 +6644,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7159,7 +7177,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7212,218 +7230,218 @@ msgstr ""
 msgid "provider:segmentation_id specified for local network"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7432,16 +7450,16 @@ msgstr ""
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7450,7 +7468,7 @@ msgstr ""
 msgid "Device %s not defined on plugin"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7459,7 +7477,7 @@ msgstr ""
 msgid "Attachment %s removed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7468,35 +7486,35 @@ msgstr ""
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr ""
@@ -8230,7 +8248,12 @@ msgstr ""
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8342,177 +8365,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, python-format
 msgid "Network %s has no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, python-format
 msgid "Returning: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr ""
@@ -8851,6 +8874,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9047,6 +9275,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9166,71 +9404,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9296,10 +9534,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9569,81 +9803,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9825,46 +10060,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr ""
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr ""
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr ""
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11427,12 +11698,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11442,20 +11713,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11478,13 +11749,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -11954,12 +12225,12 @@ msgstr ""
 msgid "'%s' must be a non negative integer."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13343,13 +13614,17 @@ msgstr ""
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr ""
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr ""
@@ -14371,6 +14646,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14397,6 +14677,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14445,7 +14801,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14500,98 +14858,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -15877,33 +16235,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr ""
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr ""
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""
 
index 33959decfed7f628b2e9b720c07d2eb193bd786d..34ed610b60708b2a48e27b6ec47baaab6e956c74 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-04 06:25+0000\n"
+"POT-Creation-Date: 2014-03-06 06:26+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) "
@@ -218,42 +218,55 @@ msgstr ""
 msgid "%s is already registered."
 msgstr "已登錄 %s。"
 
-#: neutron/service.py:37
+#: neutron/service.py:42
 msgid "Seconds between running periodic tasks"
 msgstr "執行定期作業的間隔秒數"
 
-#: neutron/service.py:40
+#: neutron/service.py:45
 msgid "Number of separate worker processes for service"
 msgstr ""
 
-#: neutron/service.py:43
+#: neutron/service.py:48
+msgid "Number of RPC worker processes for service"
+msgstr ""
+
+#: neutron/service.py:51
 msgid ""
 "Range of seconds to randomly delay when starting the periodic task "
 "scheduler to reduce stampeding. (Disable by setting to 0)"
 msgstr ""
 
-#: neutron/service.py:100
+#: neutron/service.py:108
 msgid "Error occurred: trying old api-paste.ini."
 msgstr ""
 
-#: neutron/service.py:105
+#: neutron/service.py:113 neutron/service.py:170
 msgid "Unrecoverable error: please check log for details."
 msgstr ""
 
-#: neutron/service.py:114
+#: neutron/service.py:151
+msgid "Active plugin doesn't implement start_rpc_listener"
+msgstr ""
+
+#: neutron/service.py:153
+#, python-format
+msgid "'rpc_workers = %d' ignored because start_rpc_listener is not implemented."
+msgstr ""
+
+#: neutron/service.py:177
 msgid "No known API applications configured."
 msgstr "未配置已知的 API 應用程式。"
 
-#: neutron/service.py:121
+#: neutron/service.py:184
 #, python-format
 msgid "Neutron service started, listening on %(host)s:%(port)s"
 msgstr ""
 
-#: neutron/service.py:222
+#: neutron/service.py:285
 msgid "Exception occurs when timer stops"
 msgstr "計時器停止時發生異常狀況"
 
-#: neutron/service.py:232
+#: neutron/service.py:295
 msgid "Exception occurs when waiting for timer"
 msgstr "等待計時器時發生異常狀況"
 
@@ -437,7 +450,7 @@ msgstr ""
 msgid "Number of threads to use during sync process."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:192
+#: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
 #: neutron/agent/metadata/namespace_proxy.py:159
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr "meta 資料 Proxy UNIX 網域 Socket 的位置"
@@ -507,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:932
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
 #: neutron/agent/metadata/agent.py:307
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -515,10 +528,10 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:937
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
 #: neutron/agent/metadata/agent.py:312
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:809
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:253
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:797
+#: 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:244
@@ -527,186 +540,186 @@ msgstr ""
 msgid "Failed reporting state!"
 msgstr "無法報告狀態!"
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:942
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
 msgstr "agent_updated 是由伺服器端 %s 執行!"
 
-#: neutron/agent/l3_agent.py:166 neutron/debug/debug_agent.py:43
+#: neutron/agent/l3_agent.py:165 neutron/debug/debug_agent.py:43
 msgid "Name of bridge used for external network traffic."
 msgstr "用於外部網路資料流量的橋接器名稱。"
 
-#: neutron/agent/l3_agent.py:170
+#: neutron/agent/l3_agent.py:169
 msgid "TCP Port used by Neutron metadata namespace proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:174
+#: neutron/agent/l3_agent.py:173
 msgid ""
 "Send this many gratuitous ARPs for HA setup, if less than or equal to 0, "
 "the feature is disabled"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:177
+#: neutron/agent/l3_agent.py:176
 #, fuzzy
 msgid ""
 "If namespaces is disabled, the l3 agent can only configure a router that "
 "has the matching router ID."
 msgstr "如果名稱空間已停用,則 L3 代理程式只能配置一個具有相符路由器 ID 的路由器。"
 
-#: neutron/agent/l3_agent.py:182
+#: neutron/agent/l3_agent.py:181
 msgid "Agent should implement routers with no gateway"
 msgstr "代理程式應該實作不含閘道的路由器"
 
-#: neutron/agent/l3_agent.py:184
+#: neutron/agent/l3_agent.py:183
 msgid "UUID of external network for routers implemented by the agents."
 msgstr "代理程式所實作路由器的外部網路 UUID。"
 
-#: neutron/agent/l3_agent.py:187
+#: neutron/agent/l3_agent.py:186
 msgid "Allow running metadata proxy."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:189
+#: neutron/agent/l3_agent.py:188
 msgid "Delete namespace after removing a router."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:212
+#: neutron/agent/l3_agent.py:211
 #, python-format
 msgid "Error importing interface driver '%s'"
 msgstr "匯入介面驅動程式 '%s' 時發生錯誤"
 
-#: neutron/agent/l3_agent.py:239 neutron/agent/linux/dhcp.py:632
+#: neutron/agent/l3_agent.py:240 neutron/agent/linux/dhcp.py:624
 #: neutron/services/metering/drivers/iptables/iptables_driver.py:92
 msgid "An interface driver must be specified"
 msgstr "必須指定介面驅動程式"
 
-#: neutron/agent/l3_agent.py:244
+#: neutron/agent/l3_agent.py:245
 msgid "Router id is required if not using namespaces."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:265
+#: neutron/agent/l3_agent.py:266
 msgid "RuntimeError in obtaining router list for namespace cleanup."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:285
+#: neutron/agent/l3_agent.py:286
 #, python-format
 msgid "Failed to destroy stale router namespace %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:306 neutron/agent/linux/dhcp.py:198
+#: neutron/agent/l3_agent.py:307 neutron/agent/linux/dhcp.py:198
 #, python-format
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:330
+#: neutron/agent/l3_agent.py:336
 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:354
+#: neutron/agent/l3_agent.py:360
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:403
+#: neutron/agent/l3_agent.py:409
 #: 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:405 neutron/db/l3_db.py:844
+#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:844
 #: 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:556
+#: neutron/agent/l3_agent.py:562
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:590
+#: neutron/agent/l3_agent.py:592
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "傳送無償 ARP 時失敗:%s"
 
-#: neutron/agent/l3_agent.py:714
+#: neutron/agent/l3_agent.py:706
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:711
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:727
+#: neutron/agent/l3_agent.py:719
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:731
+#: neutron/agent/l3_agent.py:723
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:738
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr "外部網路橋接器 '%s' 不存在"
 
-#: neutron/agent/l3_agent.py:787
+#: neutron/agent/l3_agent.py:782
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:796
+#: neutron/agent/l3_agent.py:791
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:798 neutron/agent/l3_agent.py:836
+#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "同步路由器時失敗"
 
-#: neutron/agent/l3_agent.py:816
+#: neutron/agent/l3_agent.py:811
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:822
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:830
+#: neutron/agent/l3_agent.py:825
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:832
+#: neutron/agent/l3_agent.py:827
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:845
+#: neutron/agent/l3_agent.py:840
 msgid "L3 agent started"
 msgstr "已啟動 L3 代理程式"
 
-#: neutron/agent/l3_agent.py:865
+#: neutron/agent/l3_agent.py:855
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "所新增的路徑項目是 '%s'"
 
-#: neutron/agent/l3_agent.py:873
+#: neutron/agent/l3_agent.py:863
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "所移除的路徑項目是 '%s'"
 
-#: neutron/agent/l3_agent.py:905
+#: neutron/agent/l3_agent.py:895
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:929
+#: neutron/agent/l3_agent.py:919
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -731,7 +744,7 @@ msgid ""
 msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:630
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:618
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 #, python-format
 msgid "Delete %s"
@@ -965,17 +978,17 @@ msgstr "%(net_id)s pid %(pid)d 的 DHCP 已過時,正在忽略指令"
 msgid "No DHCP started for %s"
 msgstr "未給 %s 啟動 DHCP"
 
-#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:84
+#: neutron/agent/linux/dhcp.py:219 neutron/agent/linux/external_process.py:80
 #, python-format
 msgid "Error while reading %s"
 msgstr "讀取 %s 時發生錯誤"
 
-#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:92
+#: neutron/agent/linux/dhcp.py:226 neutron/agent/linux/external_process.py:88
 #, python-format
 msgid "Unable to convert value in %s"
 msgstr "無法轉換 %s 中的值"
 
-#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:90
+#: neutron/agent/linux/dhcp.py:228 neutron/agent/linux/external_process.py:86
 #, python-format
 msgid "Unable to access %s"
 msgstr "無法存取 %s"
@@ -994,42 +1007,42 @@ msgid ""
 " or above!"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:395
+#: neutron/agent/linux/dhcp.py:387
 #, python-format
 msgid "Killing dhcpmasq for network since all subnets have turned off DHCP: %s"
 msgstr "由於所有子網路都已關閉 DHCP,所以正在結束網路的 dhcpmasq:%s"
 
-#: neutron/agent/linux/dhcp.py:406
+#: neutron/agent/linux/dhcp.py:398
 #, python-format
 msgid "Pid %d is stale, relaunching dnsmasq"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:407
+#: neutron/agent/linux/dhcp.py:399
 #, python-format
 msgid "Reloading allocations for network: %s"
 msgstr "正在重新載入網路的配置:%s"
 
-#: neutron/agent/linux/dhcp.py:639
+#: neutron/agent/linux/dhcp.py:631
 #, python-format
 msgid "Error importing interface driver '%(driver)s': %(inner)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:691
+#: neutron/agent/linux/dhcp.py:683
 #, python-format
 msgid "Setting gateway for dhcp netns on net %(n)s to %(ip)s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:701
+#: neutron/agent/linux/dhcp.py:693
 #, python-format
 msgid "Removing gateway for dhcp netns on net %s"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:744
+#: neutron/agent/linux/dhcp.py:736
 #, python-format
 msgid "DHCP port %(device_id)s on network %(network_id)s does not yet exist."
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:783 neutron/debug/debug_agent.py:69
+#: neutron/agent/linux/dhcp.py:775 neutron/debug/debug_agent.py:69
 #, python-format
 msgid "Reusing existing device: %s."
 msgstr "正在重複使用現有裝置:%s。"
@@ -1038,12 +1051,12 @@ msgstr "正在重複使用現有裝置:%s。"
 msgid "Location to store child pid files"
 msgstr "子項 PID 檔案的儲存位置"
 
-#: neutron/agent/linux/external_process.py:67
+#: neutron/agent/linux/external_process.py:63
 #, python-format
 msgid "Process for %(uuid)s pid %(pid)d is stale, ignoring command"
 msgstr "%(uuid)s pid %(pid)d 的程序已過時,正在忽略指令"
 
-#: neutron/agent/linux/external_process.py:70
+#: neutron/agent/linux/external_process.py:66
 #, python-format
 msgid "No process started for %s"
 msgstr "未給 %s 啟動程序"
@@ -1094,24 +1107,24 @@ msgid "Authentication region"
 msgstr "鑑別區域"
 
 #: neutron/agent/linux/interface.py:202 neutron/agent/linux/interface.py:256
-#: neutron/agent/linux/interface.py:315 neutron/agent/linux/interface.py:364
+#: neutron/agent/linux/interface.py:318 neutron/agent/linux/interface.py:367
 #, python-format
 msgid "Device %s already exists"
 msgstr "裝置 %s 已存在"
 
-#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:264
-#: neutron/agent/linux/interface.py:327 neutron/agent/linux/interface.py:371
+#: neutron/agent/linux/interface.py:220 neutron/agent/linux/interface.py:267
+#: neutron/agent/linux/interface.py:330 neutron/agent/linux/interface.py:374
 #, python-format
 msgid "Unplugged interface '%s'"
 msgstr "已拔除介面 '%s'"
 
-#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:329
-#: neutron/agent/linux/interface.py:373
+#: neutron/agent/linux/interface.py:222 neutron/agent/linux/interface.py:266
+#: neutron/agent/linux/interface.py:332 neutron/agent/linux/interface.py:376
 #, python-format
 msgid "Failed unplugging interface '%s'"
 msgstr "拔除介面 '%s' 時失敗"
 
-#: neutron/agent/linux/interface.py:431
+#: neutron/agent/linux/interface.py:434
 #, python-format
 msgid "Driver location: %s"
 msgstr "驅動程式位置:%s"
@@ -1120,10 +1133,6 @@ msgstr "驅動程式位置:%s"
 msgid "Force ip_lib calls to use the root helper"
 msgstr ""
 
-#: neutron/agent/linux/ip_lib.py:456
-msgid "No namespace defined for parent"
-msgstr "未給母項定義名稱空間"
-
 #: neutron/agent/linux/iptables_firewall.py:58
 #, python-format
 msgid "Preparing device (%s) filter"
@@ -1458,114 +1467,114 @@ msgstr "在要求內文中找不到 '%s'"
 msgid "Failed to parse request. Parameter '%s' not specified"
 msgstr "無法剖析要求。未指定參數 '%s'"
 
-#: neutron/api/extensions.py:250
+#: neutron/api/extensions.py:251
 #, python-format
 msgid "Extension with alias %s does not exist"
 msgstr "別名為 %s 的延伸不存在"
 
-#: neutron/api/extensions.py:254 neutron/api/extensions.py:258
+#: neutron/api/extensions.py:255 neutron/api/extensions.py:259
 msgid "Resource not found."
 msgstr ""
 
-#: neutron/api/extensions.py:280
+#: neutron/api/extensions.py:281
 #, python-format
 msgid "Extended resource: %s"
 msgstr "已延伸資源:%s"
 
-#: neutron/api/extensions.py:302
+#: neutron/api/extensions.py:303
 #, python-format
 msgid "Extended action: %s"
 msgstr "已延伸動作:%s"
 
-#: neutron/api/extensions.py:310
+#: neutron/api/extensions.py:311
 #, python-format
 msgid "Extended request: %s"
 msgstr "已延伸要求:%s"
 
-#: neutron/api/extensions.py:400
+#: neutron/api/extensions.py:401
 msgid "Initializing extension manager."
 msgstr "正在起始設定延伸管理程式。"
 
-#: neutron/api/extensions.py:482
+#: neutron/api/extensions.py:484
 #, python-format
 msgid "Error fetching extended attributes for extension '%s'"
 msgstr "提取延伸 '%s' 的延伸屬性時發生錯誤"
 
-#: neutron/api/extensions.py:488
+#: neutron/api/extensions.py:490
 #, python-format
 msgid ""
 "Extension '%s' provides no backward compatibility map for extended "
 "attributes"
 msgstr ""
 
-#: neutron/api/extensions.py:498
+#: neutron/api/extensions.py:500
 #, python-format
 msgid ""
 "It was impossible to process the following extensions: %s because of "
 "missing requirements."
 msgstr ""
 
-#: neutron/api/extensions.py:509
+#: neutron/api/extensions.py:511
 #, python-format
 msgid "Ext name: %s"
 msgstr "延伸名稱:%s"
 
-#: neutron/api/extensions.py:510
+#: neutron/api/extensions.py:512
 #, python-format
 msgid "Ext alias: %s"
 msgstr "延伸別名:%s"
 
-#: neutron/api/extensions.py:511
+#: neutron/api/extensions.py:513
 #, python-format
 msgid "Ext description: %s"
 msgstr "延伸說明:%s"
 
-#: neutron/api/extensions.py:512
+#: neutron/api/extensions.py:514
 #, python-format
 msgid "Ext namespace: %s"
 msgstr "延伸名稱空間:%s"
 
-#: neutron/api/extensions.py:513
+#: neutron/api/extensions.py:515
 #, python-format
 msgid "Ext updated: %s"
 msgstr "已更新延伸:%s"
 
-#: neutron/api/extensions.py:515 neutron/api/extensions.py:521
+#: neutron/api/extensions.py:517 neutron/api/extensions.py:523
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr "載入延伸時發生異常狀況:%s"
 
-#: neutron/api/extensions.py:539
+#: neutron/api/extensions.py:541
 #, python-format
 msgid "Extension path '%s' doesn't exist!"
 msgstr "延伸路徑 '%s' 不存在!"
 
-#: neutron/api/extensions.py:544
+#: neutron/api/extensions.py:546
 #, python-format
 msgid "Loading extension file: %s"
 msgstr "正在載入延伸檔:%s"
 
-#: neutron/api/extensions.py:552
+#: neutron/api/extensions.py:554
 #, python-format
 msgid "Did not find expected name \"%(ext_name)s\" in %(file)s"
 msgstr "在 %(file)s 中找不到需要的名稱 \"%(ext_name)s\""
 
-#: neutron/api/extensions.py:560
+#: neutron/api/extensions.py:562
 #, python-format
 msgid "Extension file %(f)s wasn't loaded due to %(exception)s"
 msgstr "由於 %(exception)s 而未載入延伸檔 %(f)s"
 
-#: neutron/api/extensions.py:569
+#: neutron/api/extensions.py:571
 #, python-format
 msgid "Loaded extension: %s"
 msgstr "已載入延伸:%s"
 
-#: neutron/api/extensions.py:600
+#: neutron/api/extensions.py:602
 #, python-format
 msgid "Extension %s not supported by any of loaded plugins"
 msgstr "所載入的任何外掛程式皆不支援延伸 %s"
 
-#: neutron/api/extensions.py:611
+#: neutron/api/extensions.py:613
 #, python-format
 msgid "Loaded plugins do not implement extension %s interface"
 msgstr "所載入的外掛程式未實作延伸 %s 介面"
@@ -1595,7 +1604,7 @@ 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/ipsec.py:85
+#: 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 處的代理程式"
@@ -1665,7 +1674,7 @@ msgstr "'%(data)s' 超出 %(max_len)s 的長度上限"
 msgid "'%s' is not a valid boolean value"
 msgstr "'%s' 不是有效的輸入"
 
-#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:431
+#: neutron/api/v2/attributes.py:131 neutron/api/v2/attributes.py:449
 #, python-format
 msgid "'%s' is not an integer"
 msgstr "'%s' 不是整數"
@@ -1690,112 +1699,112 @@ msgstr ""
 msgid "'%s' is not a valid MAC address"
 msgstr "'%s' 不是有效的 MAC 位址"
 
-#: neutron/api/v2/attributes.py:168
+#: neutron/api/v2/attributes.py:174
 #, python-format
 msgid "'%s' is not a valid IP address"
 msgstr "'%s' 不是有效的 IP 位址"
 
-#: neutron/api/v2/attributes.py:179
+#: neutron/api/v2/attributes.py:185
 #, python-format
 msgid "Invalid data format for IP pool: '%s'"
 msgstr "IP 儲存區的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:198 neutron/api/v2/attributes.py:205
+#: neutron/api/v2/attributes.py:204 neutron/api/v2/attributes.py:211
 #, python-format
 msgid "Invalid data format for fixed IP: '%s'"
 msgstr "固定 IP 的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:213
+#: neutron/api/v2/attributes.py:219
 #, python-format
 msgid "Duplicate IP address '%s'"
 msgstr "重複的 IP 位址 '%s'"
 
-#: neutron/api/v2/attributes.py:229
+#: neutron/api/v2/attributes.py:235
 #, python-format
 msgid "Invalid data format for nameserver: '%s'"
 msgstr "名稱伺服器的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:240
+#: neutron/api/v2/attributes.py:246
 #, python-format
 msgid "'%s' is not a valid nameserver"
 msgstr "'%s' 不是有效的名稱伺服器"
 
-#: neutron/api/v2/attributes.py:244
+#: neutron/api/v2/attributes.py:250
 #, python-format
 msgid "Duplicate nameserver '%s'"
 msgstr "重複的名稱伺服器 '%s'"
 
-#: neutron/api/v2/attributes.py:252
+#: neutron/api/v2/attributes.py:258
 #, python-format
 msgid "Invalid data format for hostroute: '%s'"
 msgstr "主機路徑的資料格式無效:'%s'"
 
-#: neutron/api/v2/attributes.py:272
+#: neutron/api/v2/attributes.py:278
 #, python-format
 msgid "Duplicate hostroute '%s'"
 msgstr "重複的主機路徑 '%s'"
 
-#: neutron/api/v2/attributes.py:289 neutron/tests/unit/test_attributes.py:452
-#: neutron/tests/unit/test_attributes.py:461
-#: neutron/tests/unit/test_attributes.py:470
-#: neutron/tests/unit/test_attributes.py:479
+#: neutron/api/v2/attributes.py:295 neutron/tests/unit/test_attributes.py:457
+#: neutron/tests/unit/test_attributes.py:465
+#: neutron/tests/unit/test_attributes.py:473
+#: neutron/tests/unit/test_attributes.py:481
 #, python-format
 msgid "'%(data)s' isn't a recognized IP subnet cidr, '%(cidr)s' is recommended"
 msgstr ""
 
-#: neutron/api/v2/attributes.py:295
+#: neutron/api/v2/attributes.py:301
 #, python-format
 msgid "'%s' is not a valid IP subnet"
 msgstr "'%s' 不是有效的 IP 子網路"
 
-#: neutron/api/v2/attributes.py:303 neutron/api/v2/attributes.py:344
+#: neutron/api/v2/attributes.py:309 neutron/api/v2/attributes.py:362
 #, python-format
 msgid "'%s' is not a list"
 msgstr "'%s' 不是清單"
 
-#: neutron/api/v2/attributes.py:308 neutron/api/v2/attributes.py:355
+#: neutron/api/v2/attributes.py:314 neutron/api/v2/attributes.py:373
 #, python-format
 msgid "Duplicate items in the list: '%s'"
 msgstr "清單中的重複項目:'%s'"
 
-#: neutron/api/v2/attributes.py:325
+#: neutron/api/v2/attributes.py:337
 #, python-format
 msgid "'%s' is not a valid input"
 msgstr "'%s' 不是有效的輸入"
 
-#: neutron/api/v2/attributes.py:332
+#: neutron/api/v2/attributes.py:350
 #: neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py:590
 #, python-format
 msgid "'%s' is not a valid UUID"
 msgstr "'%s' 不是有效的 UUID"
 
-#: neutron/api/v2/attributes.py:375
+#: neutron/api/v2/attributes.py:393
 #, python-format
 msgid "Validator '%s' does not exist."
 msgstr "驗證器 '%s' 不存在。"
 
-#: neutron/api/v2/attributes.py:385
+#: neutron/api/v2/attributes.py:403
 #, python-format
 msgid "'%s' is not a dictionary"
 msgstr "'%s' 不是字典"
 
-#: neutron/api/v2/attributes.py:436
+#: neutron/api/v2/attributes.py:454
 #, python-format
 msgid "'%s' should be non-negative"
 msgstr "'%s' 應該為非負數"
 
-#: neutron/api/v2/attributes.py:455
+#: neutron/api/v2/attributes.py:473
 #, python-format
 msgid "'%s' cannot be converted to boolean"
 msgstr "無法將 '%s' 轉換為布林值"
 
-#: neutron/api/v2/attributes.py:463
-#: neutron/plugins/nec/extensions/packetfilter.py:48
+#: neutron/api/v2/attributes.py:481
+#: neutron/plugins/nec/extensions/packetfilter.py:77
 #, python-format
 msgid "'%s' is not a integer"
 msgstr "'%s' 不是整數"
 
-#: neutron/api/v2/attributes.py:476
+#: neutron/api/v2/attributes.py:494
 #, python-format
 msgid "'%s' is not of the form <key>=[value]"
 msgstr "'%s' 的格式不是 <key>=[value]"
@@ -2393,171 +2402,164 @@ msgstr "資料庫登錄異常狀況:%s"
 msgid "Database exception"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:136
+#: neutron/db/db_base_plugin_v2.py:134
 msgid "Cannot create resource for another tenant"
 msgstr "無法給另一個 Tenant 建立資源"
 
-#: neutron/db/db_base_plugin_v2.py:294
+#: neutron/db/db_base_plugin_v2.py:292
 #, python-format
 msgid "Generated mac for network %(network_id)s is %(mac_address)s"
 msgstr "給網路 %(network_id)s 產生的 MAC 位址是 %(mac_address)s"
 
-#: neutron/db/db_base_plugin_v2.py:300
+#: neutron/db/db_base_plugin_v2.py:298
 #, python-format
 msgid "Generated mac %(mac_address)s exists. Remaining attempts %(max_retries)s."
 msgstr "產生的 MAC 位址 %(mac_address)s 已存在。還可以嘗試 %(max_retries)s 次。"
 
-#: neutron/db/db_base_plugin_v2.py:304
+#: neutron/db/db_base_plugin_v2.py:302
 #, python-format
 msgid "Unable to generate mac address after %s attempts"
 msgstr "嘗試 %s 次之後仍無法產生 MAC 位址"
 
-#: neutron/db/db_base_plugin_v2.py:332
-#, python-format
-msgid ""
-"No fixed IP found that matches the network %(network_id)s and ip address "
-"%(ip_address)s."
-msgstr "找不到與網路 %(network_id)s 及 IP 位址 %(ip_address)s 相符的固定 IP。"
-
-#: neutron/db/db_base_plugin_v2.py:341
+#: neutron/db/db_base_plugin_v2.py:320
 #, python-format
 msgid "Delete allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 msgstr "刪除所配置的 IP %(ip_address)s (%(network_id)s/%(subnet_id)s)"
 
-#: neutron/db/db_base_plugin_v2.py:373
+#: neutron/db/db_base_plugin_v2.py:352
 #, python-format
 msgid "All IPs from subnet %(subnet_id)s (%(cidr)s) allocated"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:378
+#: neutron/db/db_base_plugin_v2.py:357
 #, python-format
 msgid "Allocated IP - %(ip_address)s from %(first_ip)s to %(last_ip)s"
 msgstr "已配置 IP - %(ip_address)s(從 %(first_ip)s 到 %(last_ip)s)"
 
-#: neutron/db/db_base_plugin_v2.py:385
+#: neutron/db/db_base_plugin_v2.py:364
 msgid "No more free IP's in slice. Deleting allocation pool."
 msgstr "截塊中沒有更多的可用 IP。正在刪除配置儲存區。"
 
-#: neutron/db/db_base_plugin_v2.py:404
+#: neutron/db/db_base_plugin_v2.py:383
 #, python-format
 msgid "Rebuilding availability ranges for subnet %s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:536
+#: neutron/db/db_base_plugin_v2.py:515
 msgid "IP allocation requires subnet_id or ip_address"
 msgstr "IP 配置需要 subnet_id 或 ip_address"
 
-#: neutron/db/db_base_plugin_v2.py:548
+#: neutron/db/db_base_plugin_v2.py:527
 #, python-format
 msgid "IP address %s is not a valid IP for the defined networks subnets"
 msgstr "IP 位址 %s 不是所定義網路子網路的有效 IP"
 
-#: neutron/db/db_base_plugin_v2.py:554
+#: neutron/db/db_base_plugin_v2.py:533
 #, python-format
 msgid ""
 "Failed to create port on network %(network_id)s, because fixed_ips "
 "included invalid subnet %(subnet_id)s"
 msgstr "無法在網路 %(network_id)s 上建立埠,因為 fixed_ips 包含無效的子網路 %(subnet_id)s"
 
-#: neutron/db/db_base_plugin_v2.py:574
+#: neutron/db/db_base_plugin_v2.py:553
 #, python-format
 msgid "IP address %s is not a valid IP for the defined subnet"
 msgstr "IP 位址 %s 不是所定義子網路的有效 IP"
 
-#: neutron/db/db_base_plugin_v2.py:583 neutron/db/db_base_plugin_v2.py:616
+#: neutron/db/db_base_plugin_v2.py:562 neutron/db/db_base_plugin_v2.py:595
 msgid "Exceeded maximim amount of fixed ips per port"
 msgstr "已超出每個埠的固定 IP 數目上限"
 
-#: neutron/db/db_base_plugin_v2.py:631
+#: neutron/db/db_base_plugin_v2.py:610
 #, python-format
 msgid "Port update. Hold %s"
 msgstr "埠更新。保留 %s"
 
-#: neutron/db/db_base_plugin_v2.py:638
+#: neutron/db/db_base_plugin_v2.py:617
 #, python-format
 msgid "Port update. Adding %s"
 msgstr "埠更新。正在新增 %s"
 
-#: neutron/db/db_base_plugin_v2.py:693
+#: neutron/db/db_base_plugin_v2.py:672
 #, python-format
 msgid ""
 "Requested subnet with cidr: %(cidr)s for network: %(network_id)s overlaps"
 " with another subnet"
 msgstr "所要求的網路 %(network_id)s 子網路 (CIDR %(cidr)s) 與另一個子網路重疊"
 
-#: neutron/db/db_base_plugin_v2.py:698
+#: neutron/db/db_base_plugin_v2.py:677
 #, python-format
 msgid ""
 "Validation for CIDR: %(new_cidr)s failed - overlaps with subnet "
 "%(subnet_id)s (CIDR: %(cidr)s)"
 msgstr "驗證 CIDR %(new_cidr)s 失敗 - 與子網路 %(subnet_id)s (CIDR %(cidr)s) 重疊"
 
-#: neutron/db/db_base_plugin_v2.py:718
+#: neutron/db/db_base_plugin_v2.py:697
 msgid "Performing IP validity checks on allocation pools"
 msgstr "正在對配置儲存區執行 IP 驗證檢查"
 
-#: neutron/db/db_base_plugin_v2.py:725
+#: neutron/db/db_base_plugin_v2.py:704
 #, python-format
 msgid "Found invalid IP address in pool: %(start)s - %(end)s:"
 msgstr "在儲存區中發現無效的 IP 位址:%(start)s - %(end)s:"
 
-#: neutron/db/db_base_plugin_v2.py:732
+#: neutron/db/db_base_plugin_v2.py:711
 msgid "Specified IP addresses do not match the subnet IP version"
 msgstr "指定的 IP 位址與子網路 IP 版本不符"
 
-#: neutron/db/db_base_plugin_v2.py:736
+#: neutron/db/db_base_plugin_v2.py:715
 #, python-format
 msgid "Start IP (%(start)s) is greater than end IP (%(end)s)"
 msgstr "起始 IP (%(start)s) 大於結尾 IP (%(end)s)"
 
-#: neutron/db/db_base_plugin_v2.py:741
+#: neutron/db/db_base_plugin_v2.py:720
 #, python-format
 msgid "Found pool larger than subnet CIDR:%(start)s - %(end)s"
 msgstr "找到的儲存區大於子網路 CIDR:%(start)s - %(end)s"
 
-#: neutron/db/db_base_plugin_v2.py:754
+#: neutron/db/db_base_plugin_v2.py:733
 msgid "Checking for overlaps among allocation pools and gateway ip"
 msgstr "正在檢查配置儲存區及閘道 IP 之間是否有重疊"
 
-#: neutron/db/db_base_plugin_v2.py:765
+#: neutron/db/db_base_plugin_v2.py:744
 #, python-format
 msgid "Found overlapping ranges: %(l_range)s and %(r_range)s"
 msgstr "發現重疊的範圍:%(l_range)s 及 %(r_range)s"
 
-#: neutron/db/db_base_plugin_v2.py:778 neutron/db/db_base_plugin_v2.py:782
+#: neutron/db/db_base_plugin_v2.py:757 neutron/db/db_base_plugin_v2.py:761
 #, python-format
 msgid "Invalid route: %s"
 msgstr "無效的路徑:%s"
 
-#: neutron/db/db_base_plugin_v2.py:903
+#: neutron/db/db_base_plugin_v2.py:882
 #, python-format
 msgid "An exception occurred while creating the %(resource)s:%(item)s"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1000
+#: neutron/db/db_base_plugin_v2.py:979
 #, python-format
 msgid "%(name)s '%(addr)s' does not match the ip_version '%(ip_version)s'"
 msgstr "%(name)s '%(addr)s' 與 ip_version '%(ip_version)s' 不符"
 
-#: neutron/db/db_base_plugin_v2.py:1024
+#: neutron/db/db_base_plugin_v2.py:1003
 msgid "Gateway is not valid on subnet"
 msgstr "閘道在子網路上無效"
 
-#: neutron/db/db_base_plugin_v2.py:1044 neutron/db/db_base_plugin_v2.py:1058
+#: neutron/db/db_base_plugin_v2.py:1023 neutron/db/db_base_plugin_v2.py:1037
 msgid "new subnet"
 msgstr ""
 
-#: neutron/db/db_base_plugin_v2.py:1051
+#: neutron/db/db_base_plugin_v2.py:1030
 #, python-format
 msgid "Error parsing dns address %s"
 msgstr "剖析 DNS 位址 %s 時發生錯誤"
 
-#: neutron/db/db_base_plugin_v2.py:1313
+#: neutron/db/db_base_plugin_v2.py:1292
 #, python-format
 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:1405
+#: neutron/db/db_base_plugin_v2.py:1384
 #, python-format
 msgid "%(address)s (%(subnet_id)s) is not recycled"
 msgstr "%(address)s (%(subnet_id)s) 未回收"
@@ -2757,13 +2759,13 @@ msgstr "找到埠 %s 的多個浮動 IP"
 msgid "Skipping port %s as no IP is configure on it"
 msgstr "正在跳過埠 %s,因為其上沒有配置 IP"
 
-#: neutron/db/l3_rpc_base.py:49
+#: neutron/db/l3_rpc_base.py:50
 msgid ""
 "No plugin for L3 routing registered! Will reply to l3 agent with empty "
 "router dictionary."
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:63
+#: neutron/db/l3_rpc_base.py:64
 #, python-format
 msgid ""
 "Routers returned to l3 agent:\n"
@@ -2772,21 +2774,26 @@ msgstr ""
 "路由器已傳回至 L3 代理程式:\n"
 "%s"
 
-#: neutron/db/l3_rpc_base.py:69
+#: neutron/db/l3_rpc_base.py:70
 #, python-format
 msgid "Checking router: %(id)s for host: %(host)s"
 msgstr ""
 
-#: neutron/db/l3_rpc_base.py:94
+#: neutron/db/l3_rpc_base.py:95
 #, python-format
 msgid "External network ID returned to l3 agent: %s"
 msgstr "外部網路 ID 已傳回至 L3 代理程式:%s"
 
-#: neutron/db/l3_rpc_base.py:104
+#: neutron/db/l3_rpc_base.py:105
 #, python-format
 msgid "New status for floating IP %(floatingip_id)s: %(status)s"
 msgstr ""
 
+#: neutron/db/l3_rpc_base.py:113
+#, python-format
+msgid "Floating IP: %s no longer present."
+msgstr ""
+
 #: neutron/db/routedserviceinsertion_db.py:38
 #, python-format
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
@@ -2932,7 +2939,7 @@ msgstr "必須提供修訂或相對差異"
 msgid "Available commands"
 msgstr "可用的指令"
 
-#: neutron/db/vpn/vpn_db.py:661
+#: neutron/db/vpn/vpn_db.py:680
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -4552,7 +4559,7 @@ msgstr ""
 msgid "Syntax error in server config file, aborting plugin"
 msgstr ""
 
-#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:93
+#: neutron/plugins/bigswitch/plugin.py:134 neutron/plugins/ml2/db.py:100
 #, fuzzy, python-format
 msgid "get_port_and_sgs() called for port_id %s"
 msgstr "已呼叫 get_port_with_securitygroups():port_id=%s"
@@ -4874,7 +4881,7 @@ msgid "Agent loop has new device"
 msgstr "代理程式迴圈具有新裝置"
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:152
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:405
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:222
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1313
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:273
@@ -4883,7 +4890,7 @@ msgstr "代理程式事件迴圈發生錯誤"
 
 #: neutron/plugins/bigswitch/agent/restproxy_agent.py:158
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:201
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:975
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:963
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1236
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
@@ -4943,14 +4950,17 @@ msgid "Duplicate router rules (src,dst)  found '%s'"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:66
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:33
 msgid "The address of the host to SSH to"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:68
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:35
 msgid "The SSH username to use"
 msgstr ""
 
 #: neutron/plugins/brocade/NeutronPlugin.py:70
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:37
 msgid "The SSH password to use"
 msgstr ""
 
@@ -5018,6 +5028,7 @@ msgid "Connect failed to switch: %s"
 msgstr "無法連接交換器:%s"
 
 #: neutron/plugins/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:76
 #, python-format
 msgid "Connect success to host %(host)s:%(ssh_port)d"
 msgstr ""
@@ -5505,67 +5516,63 @@ msgstr ""
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:945
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:946
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:961
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:963
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:968
-msgid "_get_profile_binding"
-msgstr ""
-
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:976
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:971
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:985
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:981
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:992
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:988
 #, 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:1006
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1002
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1220
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1226
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1230
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1236
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1239
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1245
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1258
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1259
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1265
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1288
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1296
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1305
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1313
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6411,17 +6418,17 @@ msgstr "不支援網路類型 %s"
 msgid "Device %(device)s no longer exists on %(agent_id)s"
 msgstr "裝置 %(device)s 已不再存在於 %(agent_id)s 上"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:48
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:49
 msgid ""
 "List of <physical_network>:<vswitch> where the physical networks can be "
 "expressed with wildcards, e.g.: .\"*:external\""
 msgstr "<physical_network>:<vswitch> 的清單,其中,實體網路可以用萬用字元來表示,例如:.\"*:external\""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:54
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:55
 msgid "Private vswitch name used for local networks"
 msgstr "用於本端網路的專用 vSwitch 名稱"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:56
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:57
 #: neutron/plugins/linuxbridge/common/config.py:66
 #: neutron/plugins/mlnx/common/config.py:69
 #: neutron/plugins/nec/common/config.py:32
@@ -6432,152 +6439,162 @@ msgid ""
 "device changes."
 msgstr "輪詢本端裝置變更之間代理程式將等待的秒數。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:60
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:61
 msgid ""
 "Enables metrics collections for switch ports by using Hyper-V's metric "
 "APIs. Collected data can by retrieved by other apps and services, e.g.: "
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:101
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:132
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "無效的實體網路對映:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:153
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr "收到 network_delete。正在刪除網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:159
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr "代理程式上未定義網路 %s。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:162
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
 msgid "port_delete received"
 msgstr "收到 port_delete"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:167
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:634
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:622
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr "收到 port_update"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:188
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
 #: 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:201
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
 #, 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:213
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "正在收回本端網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:221
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Binding port %s"
 msgstr "正在連結埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
 #: 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:255
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr "在此代理程式上無法使用網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
 #, python-format
 msgid "Unbinding port %s"
 msgstr "正在切斷埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:285
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:318
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: 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:290
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
 #, python-format
 msgid "Adding port %s"
 msgstr "正在新增連接埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:298
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
 #, 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:323
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
 #, python-format
 msgid "Removing port %s"
 msgstr "正在移除埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:385
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:937
+#: 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:1143
 msgid "Agent out of sync with plugin!"
 msgstr "代理程式與外掛程式不同步!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:364
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:961
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:949
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr "代理程式迴圈具有新裝置!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "代理程式事件迴圈發生錯誤:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:377
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:408
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: 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:391
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:246
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1000
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:988
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1319
 msgid "Agent initialized successfully, now running... "
 msgstr "已順利地起始設定代理程式,現正在執行中..."
 
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:61
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while adding rule: %(rule)s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/security_groups_driver.py:71
+#, python-format
+msgid "Hyper-V Exception: %(hyperv_exeption)s while removing rule: %(rule)s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/utils.py:38
 #, python-format
 msgid "HyperVException: %(msg)s"
@@ -6637,7 +6654,7 @@ 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:101
+#: neutron/plugins/hyperv/agent/utilsv2.py:122
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "找不到 vSwitch:%s"
@@ -6650,14 +6667,15 @@ msgstr ""
 msgid "Force V1 WMI utility classes"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsfactory.py:59
+#: neutron/plugins/hyperv/agent/utilsfactory.py:70
 #, python-format
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:124
+#: neutron/plugins/hyperv/agent/utilsv2.py:145
+#: neutron/plugins/hyperv/agent/utilsv2.py:247
 #, python-format
-msgid "Port Alloc not found: %s"
+msgid "Port Allocation not found: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/sdnve_api.py:77
@@ -7182,7 +7200,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:130
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:154
-#: neutron/plugins/ml2/rpc.py:164 neutron/plugins/ml2/rpc.py:186
+#: neutron/plugins/ml2/rpc.py:171 neutron/plugins/ml2/rpc.py:193
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:131
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:156
 #, python-format
@@ -7235,218 +7253,218 @@ msgstr "給本端網路指定了 provider:physical_network"
 msgid "provider:segmentation_id specified for local network"
 msgstr "給本端網路指定了 provider:segmentation_id"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:86
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:85
 msgid "VXLAN is enabled, a valid local_ip must be provided"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:113
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:108
 msgid "Invalid Network ID, will lead to incorrect bridgename"
 msgstr "無效的網路 ID 將導致橋接器名稱不正確"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:120
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:115
 msgid "Invalid VLAN ID, will lead to incorrect subinterface name"
 msgstr "無效的 VLAN ID 將導致子介面名稱不正確"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:127
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:122
 msgid "Invalid Interface ID, will lead to incorrect tap device name"
 msgstr "無效的介面 ID 將導致虛擬網卡裝置名稱不正確"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:136
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:131
 #, python-format
 msgid "Invalid Segmentation ID: %s, will lead to incorrect vxlan device name"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:197
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:192
 #, python-format
 msgid "Failed creating vxlan interface for %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:229
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:224
 #, python-format
 msgid ""
 "Creating subinterface %(interface)s for VLAN %(vlan_id)s on interface "
 "%(physical_interface)s"
 msgstr "正在給介面 %(physical_interface)s 上的 VLAN %(vlan_id)s 建立子介面 %(interface)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:242
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:237
 #, python-format
 msgid "Done creating subinterface %s"
 msgstr "已完成建立子介面 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:249
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:244
 #, python-format
 msgid "Creating vxlan interface %(interface)s for VNI %(segmentation_id)s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:264
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:259
 #, python-format
 msgid "Done creating vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:299
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:294
 #, python-format
 msgid "Starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr "正在啟動子介面 %(interface)s 的橋接器 %(bridge_name)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:314
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:309
 #, python-format
 msgid "Done starting bridge %(bridge_name)s for subinterface %(interface)s"
 msgstr "已完成啟動子介面 %(interface)s 的橋接器 %(bridge_name)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:336
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:331
 #, python-format
 msgid "Unable to add %(interface)s to %(bridge_name)s! Exception: %(e)s"
 msgstr "無法將 %(interface)s 新增至 %(bridge_name)s!異常狀況:%(e)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:349
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:344
 #, python-format
 msgid "Unable to add vxlan interface for network %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:356
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:351
 #, python-format
 msgid "No mapping for physical network %s"
 msgstr "實體網路 %s 沒有對映"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:365
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:360
 #, python-format
 msgid "Unknown network_type %(network_type)s for network %(network_id)s."
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:377
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:372
 #, python-format
 msgid "Tap device: %s does not exist on this host, skipped"
 msgstr "虛擬網卡裝置 %s 不存在於此主機上,已跳過"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:395
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:390
 #, python-format
 msgid "Adding device %(tap_device_name)s to bridge %(bridge_name)s"
 msgstr "正在將裝置 %(tap_device_name)s 新增至橋接器 %(bridge_name)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:404
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:399
 #, python-format
 msgid "%(tap_device_name)s already exists on bridge %(bridge_name)s"
 msgstr "%(tap_device_name)s 已存在於橋接器 %(bridge_name)s 上"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:442
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:437
 #, python-format
 msgid "Deleting bridge %s"
 msgstr "正在刪除橋接器 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:449
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:444
 #, python-format
 msgid "Done deleting bridge %s"
 msgstr "已完成刪除橋接器 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:452
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:447
 #, python-format
 msgid "Cannot delete bridge %s, does not exist"
 msgstr "無法刪除橋接器 %s,不存在"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:466
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:461
 #, python-format
 msgid "Removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr "正在將裝置 %(interface_name)s 從橋接器 %(bridge_name)s 中移除"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:473
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:468
 #, python-format
 msgid "Done removing device %(interface_name)s from bridge %(bridge_name)s"
 msgstr "已完成將裝置 %(interface_name)s 從橋接器 %(bridge_name)s 中移除"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:479
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:474
 #, python-format
 msgid ""
 "Cannot remove device %(interface_name)s bridge %(bridge_name)s does not "
 "exist"
 msgstr "無法將裝置 %(interface_name)s 從橋接器 %(bridge_name)s 中移除,該裝置不存在"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:487
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:482
 #, python-format
 msgid "Deleting subinterface %s for vlan"
 msgstr "正在刪除 VLAN 的子介面 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:494
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:489
 #, python-format
 msgid "Done deleting subinterface %s"
 msgstr "已完成刪除子介面 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:493
 #, python-format
 msgid "Deleting vxlan interface %s for vlan"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:503
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:498
 #, python-format
 msgid "Done deleting vxlan interface %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:546
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:534
 msgid ""
 "VXLAN muticast group must be provided in vxlan_group option to enable "
 "VXLAN"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:550
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:538
 msgid ""
 "Unable to use VXLAN, it requires at least 3.8 linux kernel and iproute2 "
 "3.8"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:552
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:540
 #, python-format
 msgid "Using %s VXLAN mode"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:627
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:615
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:280
 msgid "network_delete received"
 msgstr "收到 network_delete"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:684
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:204
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:672
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:206
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:372
 #, python-format
 msgid "RPC timeout while updating port %s"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:687
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:675
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:321
 msgid "fdb_add received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:709
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:697
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:346
 msgid "fdb_remove received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:731
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
 msgid "update chg_ip received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:756
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:744
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:407
 msgid "fdb_update received"
 msgstr ""
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:819
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:807
 msgid "Unable to obtain MAC address for unique ID. Agent terminated!"
 msgstr "無法取得唯一 ID 的 MAC 位址。已終止代理程式!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:823
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:257
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:811
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:260
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:140
 #, python-format
 msgid "RPC agent_id: %s"
 msgstr "RPC agent_id:%s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:860
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1070
 #, python-format
 msgid "Port %s added"
 msgstr "已新增埠 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:878
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:866
 #: 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:939
@@ -7455,16 +7473,16 @@ msgstr "已新增埠 %s"
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr "無法取得 %(device)s 的埠詳細資料:%(e)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:884
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:872
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
 #: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:945
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:936
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:371
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:904
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:924
+#: 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:964
@@ -7473,7 +7491,7 @@ msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
 msgid "Device %s not defined on plugin"
 msgstr "外掛程式上未定義裝置 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:923
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:911
 #: 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:994
@@ -7482,7 +7500,7 @@ msgstr "外掛程式上未定義裝置 %s"
 msgid "Attachment %s removed"
 msgstr "已移除連接裝置 %s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:930
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:918
 #: 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:1001
@@ -7491,35 +7509,35 @@ msgstr "已移除連接裝置 %s"
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr "對 %(device)s 執行 port_removed 作業失敗:%(e)s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:934
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:369
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:922
+#: 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:1023
 #, python-format
 msgid "Port %s updated."
 msgstr "已更新埠 %s。"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:932
 msgid "LinuxBridge Agent RPC Daemon Started!"
 msgstr "已啟動「LinuxBridge 代理程式 RPC 常駐程式」!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:956
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:944
 msgid "Update devices failed"
 msgstr "更新裝置失敗"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:967
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #, python-format
 msgid "Error in agent loop. Devices info: %s"
 msgstr "代理程式迴圈發生錯誤。裝置資訊:%s"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:990
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:423
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:978
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:427
 #, python-format
 msgid "Parsing physical_interface_mappings failed: %s. Agent terminated!"
 msgstr "剖析 physical_interface_mappings 失敗:%s。已終止代理程式!"
 
-#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:426
+#: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:430
 #, python-format
 msgid "Interface mappings: %s"
 msgstr "介面對映:%s"
@@ -8263,7 +8281,12 @@ msgstr "無法收回 net-id = %(net_uuid)s 的不明網路類型 %(network_type)
 msgid "Multiple ports have port_id starting with %s"
 msgstr ""
 
-#: neutron/plugins/ml2/db.py:126
+#: neutron/plugins/ml2/db.py:91
+#, python-format
+msgid "get_port_from_device_mac() called for mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/db.py:133
 #, python-format
 msgid "No binding found for port %(port_id)s"
 msgstr ""
@@ -8376,177 +8399,177 @@ msgstr ""
 msgid "Modular L2 Plugin initialization complete"
 msgstr "已完成外掛程式起始設定"
 
-#: neutron/plugins/ml2/plugin.py:147
+#: neutron/plugins/ml2/plugin.py:149
 msgid "network_type required"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:186
+#: neutron/plugins/ml2/plugin.py:188
 #, fuzzy, python-format
 msgid "Network %s has no segments"
 msgstr "代理程式上未使用網路 %s。"
 
-#: neutron/plugins/ml2/plugin.py:251
+#: neutron/plugins/ml2/plugin.py:253
 msgid "binding:profile value too large"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:274
+#: neutron/plugins/ml2/plugin.py:276
 #, python-format
 msgid "Serialized vif_details DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:285
+#: neutron/plugins/ml2/plugin.py:287
 #, python-format
 msgid "Serialized profile DB value '%(value)s' for port %(port)s is invalid"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:336
+#: neutron/plugins/ml2/plugin.py:338
 #, python-format
 msgid ""
 "In _notify_port_updated(), no bound segment for port %(port_id)s on "
 "network %(network_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:378
+#: neutron/plugins/ml2/plugin.py:380
 #, python-format
 msgid "mechanism_manager.create_network_postcommit failed, deleting network '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:438
+#: neutron/plugins/ml2/plugin.py:440
 #, python-format
 msgid "Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:448 neutron/plugins/ml2/plugin.py:568
+#: neutron/plugins/ml2/plugin.py:450 neutron/plugins/ml2/plugin.py:570
 #, python-format
 msgid "Ports to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:454 neutron/plugins/ml2/plugin.py:574
+#: neutron/plugins/ml2/plugin.py:456 neutron/plugins/ml2/plugin.py:576
 msgid "Tenant-owned ports exist"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:462
+#: neutron/plugins/ml2/plugin.py:464
 #, python-format
 msgid "Subnets to auto-delete: %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:473
+#: neutron/plugins/ml2/plugin.py:475
 #, python-format
 msgid "Deleting network record %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:481 neutron/plugins/ml2/plugin.py:587
+#: neutron/plugins/ml2/plugin.py:483 neutron/plugins/ml2/plugin.py:589
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:485
+#: neutron/plugins/ml2/plugin.py:487
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:495 neutron/plugins/ml2/plugin.py:594
+#: neutron/plugins/ml2/plugin.py:497 neutron/plugins/ml2/plugin.py:596
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:503
+#: neutron/plugins/ml2/plugin.py:505
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:513
+#: neutron/plugins/ml2/plugin.py:515
 msgid "mechanism_manager.delete_network_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:527
+#: neutron/plugins/ml2/plugin.py:529
 #, python-format
 msgid "mechanism_manager.create_subnet_postcommit failed, deleting subnet '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:557
+#: neutron/plugins/ml2/plugin.py:559
 #, python-format
 msgid "Deleting subnet %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:583
+#: neutron/plugins/ml2/plugin.py:585
 msgid "Deleting subnet record"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:604
+#: neutron/plugins/ml2/plugin.py:606
 msgid "mechanism_manager.delete_subnet_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:633
+#: neutron/plugins/ml2/plugin.py:635
 #, python-format
 msgid "mechanism_manager.create_port_postcommit failed, deleting port '%s'"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:694
+#: neutron/plugins/ml2/plugin.py:696
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:117
 #, python-format
 msgid "Deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:711
+#: neutron/plugins/ml2/plugin.py:713
 #: neutron/tests/unit/ml2/test_ml2_plugin.py:118
 #, python-format
 msgid "The port '%s' was deleted"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:721
+#: neutron/plugins/ml2/plugin.py:723
 msgid "Calling base delete_port"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:730
+#: neutron/plugins/ml2/plugin.py:732
 msgid "mechanism_manager.delete_port_postcommit failed"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:739
+#: neutron/plugins/ml2/plugin.py:741
 #, python-format
 msgid "Port %(port)s updated up by agent not found"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:86
+#: neutron/plugins/ml2/rpc.py:93
 #, fuzzy, python-format
 msgid "Device %(device)s details requested by agent %(agent_id)s"
 msgstr "從 %(agent_id)s 要求的裝置 %(device)s 詳細資料"
 
-#: neutron/plugins/ml2/rpc.py:95
+#: neutron/plugins/ml2/rpc.py:102
 #, fuzzy, python-format
 msgid "Device %(device)s requested by agent %(agent_id)s not found in database"
 msgstr "從 %(agent_id)s 要求的裝置 %(device)s 詳細資料"
 
-#: neutron/plugins/ml2/rpc.py:102
+#: neutron/plugins/ml2/rpc.py:109
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s has network "
 "%(network_id)s with no segments"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:112
+#: neutron/plugins/ml2/rpc.py:119
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s not bound, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:123
+#: neutron/plugins/ml2/rpc.py:130
 #, python-format
 msgid ""
 "Device %(device)s requested by agent %(agent_id)s on network "
 "%(network_id)s invalid segment, vif_type: %(vif_type)s"
 msgstr ""
 
-#: neutron/plugins/ml2/rpc.py:143
+#: neutron/plugins/ml2/rpc.py:150
 #, fuzzy, python-format
 msgid "Returning: %s"
 msgstr "正在清除 %s"
 
-#: neutron/plugins/ml2/rpc.py:157
+#: neutron/plugins/ml2/rpc.py:164
 #, fuzzy, python-format
 msgid "Device %(device)s no longer exists at agent %(agent_id)s"
 msgstr "裝置 %(device)s 已不再存在於 %(agent_id)s 上"
 
-#: neutron/plugins/ml2/rpc.py:181
+#: neutron/plugins/ml2/rpc.py:188
 #, fuzzy, python-format
 msgid "Device %(device)s up at agent %(agent_id)s"
 msgstr "裝置 %(device)s 已在 %(agent_id)s 上啟動"
@@ -8892,6 +8915,211 @@ msgstr ""
 msgid "add_vxlan_endpoint() called for ip %s"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:39
+msgid "Allowed physical networks"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:41
+msgid "Unused"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:92
+msgid ""
+"Brocade Mechanism: failed to create network, network cannot be created in"
+" the configured physical network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:98
+msgid ""
+"Brocade Mechanism: failed to create network, only network type vlan is "
+"supported"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:106
+msgid "Brocade Mechanism: failed to create network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:108
+msgid "Brocade Mechanism: create_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:110
+#, python-format
+msgid ""
+"create network (precommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:122
+msgid "create_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:142
+msgid "Brocade NOS driver: failed in create network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:145
+msgid "Brocade Mechanism: create_network_postcommmit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:147
+#, python-format
+msgid ""
+"created network (postcommit): %(network_id)s of network type = "
+"%(network_type)s with vlan = %(vlan_id)s for tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:159
+msgid "delete_network_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:172
+msgid "Brocade Mechanism: failed to delete network in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:174
+msgid "Brocade Mechanism: delete_network_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:176
+#, python-format
+msgid ""
+"delete network (precommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:188
+msgid "delete_network_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:200
+msgid "Brocade NOS driver: failed to delete network"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:202
+msgid "Brocade switch exception, delete_network_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:205
+#, python-format
+msgid ""
+"delete network (postcommit): %(network_id)s with vlan = %(vlan_id)s for "
+"tenant %(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:223
+msgid "create_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:241
+msgid "Brocade Mechanism: failed to create port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:243
+msgid "Brocade Mechanism: create_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:248
+msgid "create_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:272
+#, python-format
+msgid "Brocade NOS driver: failed to associate mac %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:275
+msgid "Brocade switch exception: create_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:278
+#, python-format
+msgid ""
+"created port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:286
+msgid "delete_port_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:295
+msgid "Brocade Mechanism: failed to delete port in db"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:297
+msgid "Brocade Mechanism: delete_port_precommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:302
+msgid "delete_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:326
+#, python-format
+msgid "Brocade NOS driver: failed to dissociate MAC %s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:329
+msgid "Brocade switch exception, delete_port_postcommit failed"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:332
+#, python-format
+msgid ""
+"delete port (postcommit): port_id=%(port_id)s network_id=%(network_id)s "
+"tenant_id=%(tenant_id)s"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:339
+msgid "update_port_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:343
+msgid "update_port_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:347
+msgid "create_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:351
+msgid "create_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:355
+msgid "delete_subnetwork_precommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:359
+msgid "delete_subnetwork_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:363
+msgid "update_subnet_precommit(self: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py:367
+msgid "update_subnet_postcommit: called"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:64
+msgid ""
+"Brocade Switch IP address is not set, check config ml2_conf_brocade.ini "
+"file"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+msgid "Connect failed to switch"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:101
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:115
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:128
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:141
+msgid "NETCONF error"
+msgstr ""
+
 #: neutron/plugins/ml2/drivers/cisco/nexus/config.py:25
 msgid "The physical network managed by the switches."
 msgstr ""
@@ -9088,6 +9316,16 @@ msgstr ""
 msgid "Initialization done"
 msgstr ""
 
+#: neutron/plugins/ml2/drivers/mlnx/config.py:24
+#: neutron/plugins/mlnx/common/config.py:50
+msgid "Type of VM network interface: mlnx_direct or hostdev"
+msgstr ""
+
+#: neutron/plugins/ml2/drivers/mlnx/mech_mlnx.py:54
+#, python-format
+msgid "Checking segment: %(segment)s for mappings: %(mappings)s "
+msgstr ""
+
 #: neutron/plugins/mlnx/agent_notify_api.py:50
 msgid "Sending delete network message"
 msgstr ""
@@ -9207,71 +9445,71 @@ msgstr ""
 msgid "Delete network %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:295
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
 msgid "Ports added!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:298
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:301
 msgid "Ports removed!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:323
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:326
 #, python-format
 msgid "Adding port with mac %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:330
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:333
 #, python-format
 msgid ""
 "Unable to get device dev_details for device with mac_address %(device)s: "
 "due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:336
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:339
 #, python-format
 msgid "Port %s updated"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:337
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:340
 #, python-format
 msgid "Device details %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:350
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:353
 #, python-format
 msgid "Device with mac_address %s not defined on Neutron Plugin"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:357
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:360
 #, python-format
 msgid "Removing device with mac_address %s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:364
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:368
 #, python-format
 msgid "Removing port failed for device %(device)s due to %(exc)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:379
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:383
 msgid "eSwitch Agent Started!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:392
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:396
 msgid "Agent loop process devices!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:397
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:401
 msgid ""
 "Request timeout in agent event loop eSwitchD is not responding - "
 "exiting..."
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:431
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:435
 #, python-format
 msgid "Failed on Agent initialisation : %s. Agent terminated!"
 msgstr ""
 
-#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:436
+#: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:440
 msgid "Agent initialised successfully, now running... "
 msgstr ""
 
@@ -9337,10 +9575,6 @@ msgstr ""
 msgid "Physical network type for provider network (eth or ib)"
 msgstr ""
 
-#: neutron/plugins/mlnx/common/config.py:50
-msgid "Type of VM network interface: mlnx_direct or hostdev"
-msgstr ""
-
 #: neutron/plugins/mlnx/common/config.py:54
 msgid "eswitch daemon end point"
 msgstr ""
@@ -9612,81 +9846,82 @@ msgid ""
 "(supported=%(supported)s, configured=%(config)s)"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:41
+#: neutron/plugins/nec/packet_filter.py:42
 msgid "Disabled packet-filter extension."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:46
+#: neutron/plugins/nec/packet_filter.py:47
 #, python-format
 msgid "create_packet_filter() called, packet_filter=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:59
+#: neutron/plugins/nec/packet_filter.py:63
 #, python-format
 msgid "update_packet_filter() called, id=%(id)s packet_filter=%(packet_filter)s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:85
+#: neutron/plugins/nec/packet_filter.py:136
+#: neutron/plugins/nec/packet_filter.py:192
+#, python-format
+msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
+msgstr ""
+
+#: neutron/plugins/nec/packet_filter.py:146
 #, python-format
 msgid "delete_packet_filter() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:92
+#: neutron/plugins/nec/packet_filter.py:153
 #, python-format
 msgid "Failed to delete packet_filter id=%s which remains in error status."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:106
+#: neutron/plugins/nec/packet_filter.py:167
 #, python-format
 msgid "activate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:115
+#: neutron/plugins/nec/packet_filter.py:176
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, "
 "packet_filter.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:118
+#: neutron/plugins/nec/packet_filter.py:179
 #, python-format
 msgid ""
 "activate_packet_filter_if_ready(): skip pf_id=%s, no portinfo for the "
 "in_port."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:121
+#: neutron/plugins/nec/packet_filter.py:182
 msgid ""
 "_activate_packet_filter_if_ready(): skip, ofc_packet_filter already "
 "exists."
 msgstr "_activate_packet_filter_if_ready():跳過,ofc_packet_filter 已存在。"
 
-#: neutron/plugins/nec/packet_filter.py:124
+#: neutron/plugins/nec/packet_filter.py:185
 #, python-format
 msgid "activate_packet_filter_if_ready(): create packet_filter id=%s on OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:131
-#, python-format
-msgid "Failed to create packet_filter id=%(id)s on OFC: %(exc)s"
-msgstr ""
-
-#: neutron/plugins/nec/packet_filter.py:144
+#: neutron/plugins/nec/packet_filter.py:205
 #, python-format
 msgid "deactivate_packet_filter_if_ready() called, packet_filter=%s."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:151
+#: neutron/plugins/nec/packet_filter.py:212
 #, python-format
 msgid "deactivate_packet_filter(): deleting packet_filter id=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:157
+#: neutron/plugins/nec/packet_filter.py:218
 #, python-format
 msgid "Failed to delete packet_filter id=%(id)s from OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/packet_filter.py:161
+#: neutron/plugins/nec/packet_filter.py:222
 #, python-format
 msgid ""
 "deactivate_packet_filter(): skip, Not found OFC Mapping for packet_filter"
@@ -9868,46 +10103,82 @@ msgstr ""
 msgid "Failed to connect OFC : %s"
 msgstr "無法連接 OFC:%s"
 
-#: neutron/plugins/nec/db/api.py:130
+#: neutron/plugins/nec/db/api.py:132
 #, python-format
 msgid "_del_ofc_item(): NotFound item (model=%(model)s, id=%(id)s) "
 msgstr "_del_ofc_item():NotFound 項目(模型 = %(model)s,ID = %(id)s)"
 
-#: neutron/plugins/nec/db/api.py:168
+#: neutron/plugins/nec/db/api.py:170
 #, python-format
 msgid "_del_ofc_item(): NotFound item (resource=%(resource)s, id=%(id)s) "
 msgstr "_del_ofc_item():NotFound 項目(資源 = %(resource)s,ID = %(id)s)"
 
-#: neutron/plugins/nec/db/api.py:201
+#: neutron/plugins/nec/db/api.py:203
 #, python-format
 msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr "del_portinfo():port_id 的 portinfo NotFound:%s"
 
-#: neutron/plugins/nec/db/api.py:207
+#: neutron/plugins/nec/db/api.py:224
 #: neutron/plugins/openvswitch/ovs_db_v2.py:316
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr "已呼叫 get_port_with_securitygroups():port_id=%s"
 
-#: neutron/plugins/nec/db/packetfilter.py:35
-#, python-format
-msgid "PacketFilter %(id)s could not be found"
-msgstr "找不到 PacketFilter %(id)s"
-
 #: neutron/plugins/nec/db/router.py:87
 #, python-format
 msgid "Add provider binding (router=%(router_id)s, provider=%(provider)s)"
 msgstr ""
 
-#: neutron/plugins/nec/drivers/__init__.py:37
+#: neutron/plugins/nec/drivers/__init__.py:38
 #, python-format
 msgid "Loading OFC driver: %s"
 msgstr "正在載入 OFC 驅動程式:%s"
 
-#: neutron/plugins/nec/extensions/packetfilter.py:34
+#: neutron/plugins/nec/drivers/pfc.py:36
+#, python-format
+msgid "OFC %(resource)s ID has an invalid format: %(ofc_id)s"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:35
 msgid "Number of packet_filters allowed per tenant, -1 for unlimited"
 msgstr "每個 Tenant 所容許的 packet_filter 數目,-1 表示無限制"
 
+#: neutron/plugins/nec/extensions/packetfilter.py:42
+#, python-format
+msgid "PacketFilter %(id)s could not be found"
+msgstr "找不到 PacketFilter %(id)s"
+
+#: neutron/plugins/nec/extensions/packetfilter.py:46
+#, python-format
+msgid ""
+"IP version %(version)s is not supported for %(field)s (%(value)s is "
+"specified)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:51
+#, python-format
+msgid "Packet Filter priority should be %(min)s-%(max)s (included)"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:55
+#, python-format
+msgid "%(field)s field cannot be updated"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:59
+#, python-format
+msgid ""
+"The backend does not support duplicated priority. Priority %(priority)s "
+"is in use"
+msgstr ""
+
+#: neutron/plugins/nec/extensions/packetfilter.py:64
+#, python-format
+msgid ""
+"Ether Type '%(eth_type)s' conflicts with protocol '%(protocol)s'. Update "
+"or clear protocol before changing ether type."
+msgstr ""
+
 #: neutron/plugins/nuage/plugin.py:84
 #, python-format
 msgid "%(resource)s with id %(resource_id)s does not exist"
@@ -11476,12 +11747,12 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:266
 #, python-format
-msgid "Logical switch for neutron network %s not found on NVP."
+msgid "Logical switch for neutron network %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:334
 #, python-format
-msgid "Logical router for neutron router %s not found on NVP."
+msgid "Logical router for neutron router %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:370
@@ -11491,20 +11762,20 @@ msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:411
 #, python-format
-msgid "Logical switch port for neutron port %s not found on NVP."
+msgid "Logical switch port for neutron port %s not found on NSX."
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:487
 #, python-format
 msgid ""
 "Requested page size is %(cur_chunk_size)d.It might be necessary to do "
-"%(num_requests)d round-trips to NVP for fetching data. Please tune sync "
+"%(num_requests)d round-trips to NSX for fetching data. Please tune sync "
 "parameters to ensure chunk size is less than %(max_page_size)d"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:520
 #, python-format
-msgid "Fetching up to %s resources from NVP backend"
+msgid "Fetching up to %s resources from NSX backend"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:540
@@ -11527,13 +11798,13 @@ msgstr ""
 #: neutron/plugins/vmware/common/sync.py:570
 #, python-format
 msgid ""
-"An error occurred while communicating with NVP backend. Will retry "
+"An error occurred while communicating with NSX backend. Will retry "
 "synchronization in %d seconds"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:574
 #, python-format
-msgid "Time elapsed querying NVP: %s"
+msgid "Time elapsed querying NSX: %s"
 msgstr ""
 
 #: neutron/plugins/vmware/common/sync.py:581
@@ -12003,12 +12274,12 @@ msgstr "埠未與 lqueue 產生關聯"
 msgid "'%s' must be a non negative integer."
 msgstr "'%s' 必須為非負整數。"
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:80
+#: neutron/plugins/vmware/nsxlib/__init__.py:78
 #, python-format
 msgid "Error. %(type)s exception: %(exc)s."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/__init__.py:84
+#: neutron/plugins/vmware/nsxlib/__init__.py:82
 #, python-format
 msgid "locals=[%s]"
 msgstr ""
@@ -13392,13 +13663,17 @@ msgstr "不存在可以管理路由器 %s 的 L3 代理程式"
 msgid "Router %(router_id)s is scheduled to L3 agent %(agent_id)s"
 msgstr "路由器 %(router_id)s 已排程到 L3 代理程式 %(agent_id)s"
 
-#: neutron/server/__init__.py:39
+#: neutron/server/__init__.py:42
 msgid ""
 "ERROR: Unable to find configuration file via the default search paths "
 "(~/.neutron/, ~/, /etc/neutron/, /etc/) and the '--config-file' option!"
 msgstr ""
 
-#: neutron/server/__init__.py:46
+#: neutron/server/__init__.py:54
+msgid "RPC was already started in parent process by plugin."
+msgstr ""
+
+#: neutron/server/__init__.py:66
 #, python-format
 msgid "ERROR: %s"
 msgstr "錯誤:%s"
@@ -14420,6 +14695,11 @@ msgstr ""
 msgid "The vpn device drivers Neutron will use"
 msgstr ""
 
+#: neutron/services/vpn/plugin.py:48
+#, python-format
+msgid "VPN plugin using service driver: %s"
+msgstr ""
+
 #: neutron/services/vpn/device_drivers/ipsec.py:49
 msgid "Location to store ipsec server config files"
 msgstr ""
@@ -14446,6 +14726,82 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:44
+#, python-format
+msgid "Fatal - %(reason)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:78
+#, python-format
+msgid "No available Cisco CSR %(type)s IDs from %(min)d..%(max)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:132
+#, python-format
+msgid ""
+"Database inconsistency between IPSec connection and Cisco CSR mapping "
+"table (%s)"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:158
+#, python-format
+msgid "Reserved new CSR ID %(csr_id)d for %(policy)s ID %(policy_id)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:185
+#, python-format
+msgid ""
+"Mappings for IPSec connection %(conn)s - tunnel=%(tunnel)s "
+"ike_policy=%(csr_ike)d ipsec_policy=%(csr_ipsec)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:194
+#, python-format
+msgid ""
+"Existing entry for IPSec connection %s not found in Cisco CSR mapping "
+"table"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:220
+#, python-format
+msgid ""
+"Attempt to create duplicate entry in Cisco CSR mapping table for "
+"connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:223
+#, python-format
+msgid ""
+"Mapped connection %(conn_id)s to Tunnel%(tunnel_id)d using IKE policy ID "
+"%(ike_id)d and IPSec policy ID %(ipsec_id)d"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_csr_db.py:235
+#, python-format
+msgid "Removed mapping for connection %s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:40
+#, python-format
+msgid ""
+"Cisco CSR does not support %(resource)s attribute %(key)s with value "
+"'%(value)s'"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:45
+#, python-format
+msgid "Cisco CSR does not currently support %(capability)s"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:168
+#, python-format
+msgid "IPSec connection %s validated for Cisco CSR"
+msgstr ""
+
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+msgid "update of IPSec connections. You can delete and re-add, as a workaround."
+msgstr ""
+
 #: neutron/tests/unit/test_api_v2_resource.py:176
 #: neutron/tests/unit/test_api_v2_resource.py:246
 msgid "Unmapped error"
@@ -14494,7 +14850,9 @@ msgstr ""
 #, python-format
 msgid ""
 "%(method)s called with port settings %(current)s (original settings "
-"%(original)s) on network %(network)s"
+"%(original)s) bound to segment %(segment)s (original segment "
+"%(original_segment)s) using driver %(driver)s (original driver "
+"%(original_driver)s) on network %(network)s"
 msgstr ""
 
 #: neutron/tests/unit/nec/stub_ofc_driver.py:67
@@ -14549,98 +14907,98 @@ msgstr ""
 msgid "(create_port) OFC port %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:138
+#: neutron/tests/unit/nec/stub_ofc_driver.py:140
 #, python-format
 msgid "(delete_port) OFC port %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:140
+#: neutron/tests/unit/nec/stub_ofc_driver.py:142
 msgid "delete_port: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:173
+#: neutron/tests/unit/nec/stub_ofc_driver.py:175
 #, python-format
 msgid "(create_router) OFC tenant %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:176
+#: neutron/tests/unit/nec/stub_ofc_driver.py:178
 #, python-format
 msgid "(create_router) OFC router %s already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:179
+#: neutron/tests/unit/nec/stub_ofc_driver.py:181
 msgid "Operation on OFC is failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:193
-#: neutron/tests/unit/nec/stub_ofc_driver.py:283
+#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:285
 #, python-format
 msgid "(delete_router) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:195
+#: neutron/tests/unit/nec/stub_ofc_driver.py:197
 msgid "delete_router: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:203
+#: neutron/tests/unit/nec/stub_ofc_driver.py:205
 #, python-format
 msgid "(add_router_interface) ip_address %s is not a valid format (a.b.c.d/N)."
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:208
+#: neutron/tests/unit/nec/stub_ofc_driver.py:210
 #, python-format
 msgid "(add_router_interface) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:211
+#: neutron/tests/unit/nec/stub_ofc_driver.py:213
 #, python-format
 msgid "(add_router_interface) OFC network %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:218
+#: neutron/tests/unit/nec/stub_ofc_driver.py:220
 #, python-format
 msgid "add_router_interface: SUCCEED (if_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:226
-#: neutron/tests/unit/nec/stub_ofc_driver.py:243
+#: neutron/tests/unit/nec/stub_ofc_driver.py:228
+#: neutron/tests/unit/nec/stub_ofc_driver.py:245
 #, python-format
 msgid "(delete_router_interface) OFC router interface %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:235
+#: neutron/tests/unit/nec/stub_ofc_driver.py:237
 msgid "update_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:246
+#: neutron/tests/unit/nec/stub_ofc_driver.py:248
 msgid "delete_router_interface: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:256
+#: neutron/tests/unit/nec/stub_ofc_driver.py:258
 #, python-format
 msgid "(add_router_route) OFC router %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:261
+#: neutron/tests/unit/nec/stub_ofc_driver.py:263
 #, python-format
 msgid "(add_router_route) route to \"%s\" already exists"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:266
+#: neutron/tests/unit/nec/stub_ofc_driver.py:268
 #, python-format
 msgid "add_router_route: SUCCEED (route_id=%s)"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:275
+#: neutron/tests/unit/nec/stub_ofc_driver.py:277
 #, python-format
 msgid "(delete_router_route) OFC router route %s not found"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:277
+#: neutron/tests/unit/nec/stub_ofc_driver.py:279
 msgid "delete_router_route: SUCCEED"
 msgstr ""
 
-#: neutron/tests/unit/nec/stub_ofc_driver.py:290
+#: neutron/tests/unit/nec/stub_ofc_driver.py:292
 #, python-format
 msgid "list_router_routes: routes=%s"
 msgstr ""
@@ -14715,7 +15073,7 @@ msgstr ""
 #~ msgstr "預設服務類型的文字說明"
 
 #~ msgid ""
-#~ msgstr "無法將閘道服務從 NVP 平台中移除 - 找不到資源"
+#~ msgstr ""
 
 #~ msgid "Service type %(service_type_id)s could not be found "
 #~ msgstr "找不到服務類型 %(service_type_id)s"
@@ -15926,33 +16284,54 @@ msgstr ""
 #~ msgid "Checking OVS version for VXLAN support"
 #~ msgstr ""
 
+#~ msgid "No namespace defined for parent"
+#~ msgstr "未給母項定義名稱空間"
+
 #~ msgid ""
-#~ "Failed userspace version check for Open"
-#~ " vSwitch with VXLAN support. To use"
-#~ " VXLAN tunnels with OVS, please "
-#~ "ensure the OVS version is %s or"
-#~ " newer!"
+#~ "No fixed IP found that matches the"
+#~ " network %(network_id)s and ip address "
+#~ "%(ip_address)s."
+#~ msgstr "找不到與網路 %(network_id)s 及 IP 位址 %(ip_address)s 相符的固定 IP。"
+
+#~ msgid "_get_profile_binding"
+#~ msgstr ""
+
+#~ msgid "Port Alloc not found: %s"
+#~ msgstr ""
+
+#~ msgid "Logical switch for neutron network %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical router for neutron router %s not found on NVP."
+#~ msgstr ""
+
+#~ msgid "Logical switch port for neutron port %s not found on NVP."
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Failed kernel version check for Open "
-#~ "vSwitch with VXLAN support. To use "
-#~ "VXLAN tunnels with OVS, please ensure"
-#~ " the OVS version is %s or "
-#~ "newer!"
+#~ "Requested page size is %(cur_chunk_size)d.It"
+#~ " might be necessary to do "
+#~ "%(num_requests)d round-trips to NVP for"
+#~ " fetching data. Please tune sync "
+#~ "parameters to ensure chunk size is "
+#~ "less than %(max_page_size)d"
+#~ msgstr ""
+
+#~ msgid "Fetching up to %s resources from NVP backend"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Cannot determine kernel Open vSwitch "
-#~ "version, please ensure your Open vSwitch"
-#~ " kernel module is at least version"
-#~ " %s to support VXLAN tunnels."
+#~ "An error occurred while communicating "
+#~ "with NVP backend. Will retry "
+#~ "synchronization in %d seconds"
+#~ msgstr ""
+
+#~ msgid "Time elapsed querying NVP: %s"
 #~ msgstr ""
 
 #~ msgid ""
-#~ "Unable to determine Open vSwitch "
-#~ "version. Please ensure that its version"
-#~ " is %s or newer to use VXLAN"
-#~ " tunnels with OVS."
+#~ "%(method)s called with port settings "
+#~ "%(current)s (original settings %(original)s) "
+#~ "on network %(network)s"
 #~ msgstr ""